精华内容
下载资源
问答
  • 编译工具 ActivePerl:5.28 下载地址https://www.activestate.com/products/activeperl/downloads/ Name:2.14.02 下载地址https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/ CMake: 下载地址...

    说明: 本文档参考了果子DO IT的文章:Windows下编译并使用libssh2库 十分感谢改博主的说明,本人在此基础上做了一些总结和调整,整理出此文档,特此分享

    一. 编译准备

    1. ActivePerl:5.28
      下载地址 https://www.activestate.com/products/activeperl/downloads/
    2. Name:2.14.02
      下载地址 https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/
    3. CMake:
      下载地址 https://cmake.org/download/
    4. Visual Stadio 2015
      建议用此版本,如果用QT开发界面,QT5官方安装程序仅支持MSVC2015-32版本,其它的32位MSVC Kit套件需要自行编译。
    5. openssl源码
      下载地址 https://www.openssl.org/source/
      我下载的版本是 openssl-1.0.2t.tar.gz
    6. libssh2源码
      下载地址 https://www.libssh2.org/
      我下载的版本是 libssh2 1.9.0
      以上工具在附件里可下载

    二. 环境配置

    1. ActivePerl :执行exe安装程序即可
    2. Name : 执行完exe安装程序后,配置系统path环境变量,添加“C:\Program Files\NASM”
    3. CMake:解压完成后,配置系统path环境变量,添加“C:\Program Files\CMake\bin”

    三. openssl编译

    1. 打开命令提示符cmd.exe,进入openssl目录 E:\openssl-1.0.2t
    2. 输入 perl Configure VC-WIN32 --prefix=E:\OpenSSL
      参数说明:
      ① VC-WIN32 Release编译,换成debug-VC-WIN32,则进行Debug编译
      ② E:\OpenSSL 安装目录
    3. 输入 ms\do_nasm
    4. 目录重新定位至 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin,输入 vcvars32.bat
    5. 目录再次定位至 E:\openssl-1.0.2t,输入 nmake -f ms\ntdll.mak
    6. 输入 nmake -f ms\ntdll.mak test,若测试结果显示 passed all tests,说明编译的库正确
    7. 输入 nmake -f ms\ntdll.mak install,安装到指令目录

    注意:
    ① 若要编译静态库,则用 ms\nt.mak 替换掉 ms\ntdll.mak
    ② 若要生成不带汇编支持的库,则需将上述第 2、3 步替换为 perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSLms\do_ms

    四. libssh2编译

    1. 修改 libssh2\win32\config.mk 文件,添加openssl的头文件和动态库
      在这里插入图片描述
    2. 使用CMake编译
      ① 打开命令提示符cmd.exe,进入libssh2目录 E:\libssh2-1.9.0
      ② 创建编译文件夹 mkdir build
      ③ 进入编译文件夹 cd build
      ④ 输入 cmake -DCRYPTO_BACKEND=WinCNG -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=E:\libssh2 --build ..
      ⑤ 输入 cmake --build . --target install,CMake默认编译的是Debug版本,若想生成Release版本,需要在后面添加 --config Release
    3. 备注
      libssh2在Win10 19.0.3版本上调试时发现ssh连接一直失败,怀疑和Win10自带的openssh客户端有冲突,使用Win10 18.0.3版本就没有这个问题。期待网友一起解决。

    附件

    1. 编译工具及源码 https://download.csdn.net/download/gchiron/11927501
    2. 编译完成的lib库 https://download.csdn.net/download/gchiron/11927507
    展开全文
  • 包含ActivePerl(5.28)、Name(2.14.02)、CMake、openssl-1.0.2t源码、libssh2-1.9.0源码
  • 用VS2015编译的libcurl.dll、openssl.dll、libssh2.dll及对应的lib和相关头文件。 包含两个版本的编译结果,分别为:libcurl_7.64.0___openssl_1.0.2___libssh2_1.8.0、libcurl_7.64.0___openssl_1.1.0___libssh2_...
  • openssl+libssh2动态库

    2019-10-26 10:37:01
    包含release编译openssl、debug编译libssh2、release编译libssh2
  • openssl libssh zlib

    2020-02-21 19:15:04
    包内有编译好的32位的库及源码,libssh2 openssl zlib 都有,想要64位的直接打开源码更换编译选项即可,亲测可用
  • libssh2的编译过程

    2013-08-14 13:27:25
    详细描述了libssh2在Vs2008下的编译过程
  • 前年,客户要求ATM客户端程序添加sftp功能,领导发给我4个静态库,分别是libcurl.lib,libeay32.lib,ssleay32.lib,libssh2.lib。 使用这4个库成功实现了sftp功能。当时从网络上查到该四个静态库均可以用开源代码...

    前年,客户要求ATM客户端程序添加sftp功能,领导发给我4个静态库,分别是libcurl.lib,libeay32.lib,ssleay32.lib,libssh2.lib。
    使用这4个库成功实现了sftp功能。当时从网络上查到该四个静态库均可以用开源代码编译生成。
    前段时间工作不忙,想起了这件事,打算从网上下载源代码,自己动手编译这些源代码生成这4个库。一开始根本不知道如何下手,
    找baidu帮忙吧。按照网上的做法开始编译这些源代码,但是编译过程中遇到各种问题,每次遇到问题就baidu解决方法,如果没有找到解决办法就
    查看源代码包中的说明文档。这些说明文档全是英文的,这时候就体现出学英语的意义来了。在编译这些像天书一样的源代码的过程中,深深感受到
    这些源代码的作者的智慧、毅力和无私的美德,向这些精英致敬!废话说完了,切入正题。
    1.openssl的编译(release模式)
    1.1下载openssl源代码
    baidu一下openssl,很容易就能找到openssl的官网,我下的版本是openssl-0.9.8g
    1.2安装ActivePerl
    下载ActivePerl并安装,编译openssl时要用到
    1.3编译openssl源代码
    首先我强烈推荐你阅读一下根目录下的INSTALL.W32文件,该文件详细介绍了如何编译openssl。我总结了一下该文档的要点,在下面列出来。
    a.打开命令提示符,进入openssl根目录,执行perl Configure VC-WIN32 --prefix=c:/some/openssl/dir
    需要注意的是/不要修改成\,否则可能在编译openssl过程中遇到麻烦。
    b.执行ms\do_ms
    c.执行C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT
    d.如果你想得到动态库请执行nmake -f ms\ntdll.mak
    如果你想得到静态库请执行nmake -f ms\nt.mak
    用上述方法得到的动态库或静态库是release模式的,如果你想得到debug模式请阅读一下根目录下的INSTALL.W32文件。
    2.zlib的编译
    2.1下载zlib源代码
    我下的版本是zlib-1.2.11
    2.2编译zlib
    a.打开命令提示符,执行C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT
    b.进入zlib根目录\win32,执行nmake -f win32/Makefile.msc
    3.libssh2的编译
    3.1下载libssh2源代码
    我下的版本是libssh2-0.16
    3.2编译libssh2
    在libssh2-0.16\win32目录下我看到了熟悉的.dsw文件,这下终于可以不用nmake命令来编译了,双击libssh2.dsw打开它吧,
    出乎意料的是它不是一个正常的工作区文件,visual c++ 6.0没有打开有效的工程文件。费了好长时间终于搞明白了,原来
    这里的.dsw文件和.dsp文件中的换行符均是linux下的换行符,visual c++ 6.0不能识别这些换行符。原因找到了,问题就好解决了。
    我用beyond compare(一款代码对比软件)将libssh2-0.16\win32目录下所有的.dsw和.dsp文件都另存为了windows下的换行符,
    visual c++ 6.0可以成功打开工作区文件并成功加载工程文件了。
    接下来将openssl根目录\include下的openssl文件夹复制到libssh2根目录\win32目录下,
    将编译openssl生成的库文件libeay32.lib和ssleay32.lib复制到libssh2根目录\win32目录下,
    将zlib根目录下所有的.h头文件复制到libssh2根目录\win32目录下,
    将编译zlib生成的zlib.lib复制到libssh2根目录\win32目录下。
    接下来点击visual c++的Build菜单,Rebuild All子菜单,编译过程中会报错error C2065: 'socklen_t' : undeclared identifier,
    这就是开源代码的缺点,无法保证代码的完全正确。baidu了一下,找到解决该错误的方法。
    在session.c文件中添加socklen_t的定义如下:
    #if defined(_MSC_VER) && (_MSC_VER == 1200)
    typedef int socklen_t;
    #endif

    你可以根据自己的需要选择生成静态库还是动态库,debug模式还是release模式。
    如果你选择生成静态库,你会在之后的测试中发现一个很诡异,很致命的问题,应用程序无法链接静态库中的函数。
    经过很长时间的测试和分析,终于找到了原因。请看头文件libssh2.h中定义宏的一段代码。
    /* Allow alternate API prefix from CFLAGS or calling app */
    #ifndef LIBSSH2_API
    # ifdef LIBSSH2_WIN32
    #  ifdef LIBSSH2_LIBRARY
    #   define LIBSSH2_API __declspec(dllexport)
    #  else
    #   define LIBSSH2_API __declspec(dllimport)
    #  endif /* LIBSSH2_LIBRARY */
    # else /* !LIBSSH2_WIN32 */
    #  define LIBSSH2_API
    # endif /* LIBSSH2_WIN32 */
    #endif /* LIBSSH2_API */
    当你选择生成静态库时,宏LIBSSH2_API的值为__declspec(dllexport),事实上这种情况下LIBSSH2_API的值应该为空。
    我对这段代码做了最简单的修改如下。
    /* Allow alternate API prefix from CFLAGS or calling app */
    #ifndef LIBSSH2_API
    # ifdef LIBSSH2_WIN32
    #  ifdef LIBSSH2_LIBRARY
    #   define LIBSSH2_API //__declspec(dllexport)
    #  else
    #   define LIBSSH2_API //__declspec(dllimport)
    #  endif /* LIBSSH2_LIBRARY */
    # else /* !LIBSSH2_WIN32 */
    #  define LIBSSH2_API
    # endif /* LIBSSH2_WIN32 */
    #endif /* LIBSSH2_API */
    经过测试,问题是解决了,但是修改后的这段代码是无法兼容生成动态库这种情况的,所以如果你想生成动态库,
    这段代码是不需要修改的。
    Rebuild All就完成了libssh2的编译。
    4编译curl
    4.1下载curl
    我下载的是curl-7.32.0
    4.2编译curl
    编译之前建议你好好看一下curl根目录\winbuild目录下的BUILD.WINDOWS.txt,我总结出编译curl的主要步骤如下:
    a.在curl根目录的上一级目录新建文件夹命名为deps,在deps文件夹下新建三个文件夹,分别命名为include,lib和bin。
    将openssl根目录\include下的openssl文件夹复制到include文件夹下,将libssh2根目录\include文件夹下的文件复制到
    include文件夹下,将zlib根目录下所有的.h头文件复制到include文件夹下,将openssl根目录\out32目录下的libeay32.lib和ssleay32.lib
    复制到lib文件夹。如果nmake时设置WITH_ZLIB=static,请将zlib根目录下的zlib.lib复制到lib文件夹,并将zlib.lib重命名为zlib_a.lib,如果
    nmake时设置WITH_ZLIB=dll,我没有测试过这种情况,请自行处理。如果nmake时设置WITH_SSH2=static,请将libssh2根目录\win32\Release_lib
    目录下的libssh2.lib复制到lib文件夹,并重命名为libssh2_a.lib,如果nmake时设置WITH_SSH2=dll,我没有测试过这种情况,请自行处理。
    b.在curl根目录\lib\config-win32.h文件中增加代码如下
    #ifndef ALLOW_MSVC6_WITHOUT_PSDK
    #define ALLOW_MSVC6_WITHOUT_PSDK
    #endif
    在curl根目录\lib\md5.c文件中增加代码如下
    #ifndef   _WIN32_WINNT 
    #define   _WIN32_WINNT   0x0400 
    #endif
    将curl根目录\lib\socks_sspi.c文件中所有的FreeCredentialsHandle修改为FreeCredentialHandle

    b.启动命令提示符,执行C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat
    c.在命令提示符中进入curl根目录\winbuild,执行nmake /f Makefile.vc mode=static VC=6 WITH_SSL=static WITH_ZLIB=static WITH_SSH2=static ENABLE_SSPI=no ENABLE_IPV6=no ENABLE_IDN=no ENABLE_WINSSL=no DEBUG=no MACHINE=x86
    上面的nmake命令可以根据你的需要进行修改。
    到此,curl的编译全部完成了,curl根目录\builds\libcurl-vc6-x86-debug-static-ssl-static-zlib-static-ssh2-static-spnego\bin
    目录下有一个curl.exe,可以用来测试生成的静态库或动态库是否可用。
     

    展开全文
  • libssh2编译安装及例程

    2020-11-02 16:31:15
    二、编译安装: 1.安装依赖库(选一个即可) OpenSSL Libgcrypt WinCNG mbedTLS 2.安装libssh2,生成静态库和动态库 三、例程 #include "libssh2.h" #ifdef HAVE_WINSOCK2_H # include <winsock2.h> ...

    一、下载源代码:

    官网:https://www.libssh2.org/

    github:https://github.com/libssh2/libssh2

    二、编译安装:

    1.安装依赖库(选一个即可)

    • OpenSSL
    • Libgcrypt
    • WinCNG
    • mbedTLS

    2.安装libssh2,生成静态库和动态库

    三、例程

    #include "libssh2.h"
    
    #ifdef HAVE_WINSOCK2_H
    # include <winsock2.h>
    #endif
    #ifdef HAVE_SYS_SOCKET_H
    # include <sys/socket.h>
    #endif
    #ifdef HAVE_NETINET_IN_H
    # include <netinet/in.h>
    #endif
    # ifdef HAVE_UNISTD_H
    #include <unistd.h>
    #endif
    #ifdef HAVE_ARPA_INET_H
    # include <arpa/inet.h>
    #endif
    #ifdef HAVE_SYS_TIME_H
    # include <sys/time.h>
    #endif
    
    #include <sys/types.h>
    #include <fcntl.h>
    #include <errno.h>
    #include <stdio.h>
    #include <ctype.h>
    
    
    int main()
    {
        unsigned long hostaddr;
        int sock, i, auth_pw = 1;
        struct sockaddr_in sin;
        const char *fingerprint;
        LIBSSH2_SESSION *session;
        LIBSSH2_CHANNEL *channel;
        const char *username = "用户名";
        const char *password = "密码";
        int rc;
    
           /init_slot()
    #ifdef WIN32
        WSADATA wsadata;
        int err;
    
        err = WSAStartup(MAKEWORD(2, 0), &wsadata);
        if(err != 0) {
            fprintf(stderr, "WSAStartup failed with error: %d\n", err);
            return 1;
        }
    #endif
    
    
        rc = libssh2_init(0);
        if(rc != 0) {
            fprintf(stderr, "libssh2 initialization failed (%d)\n", rc);
            return 1;
        }
    
        hostaddr = inet_addr("IP地址");
        sin.sin_family = AF_INET;
        sin.sin_port = htons(22);
        sin.sin_addr.s_addr = hostaddr;
        /* Ultra basic "connect to port 22 on localhost"
            * Your code is responsible for creating the socket establishing the
            * connection
            */
        sock = socket(AF_INET, SOCK_STREAM, 0);
        if(sock == -1)
        {
            qDebug() << "failed to create socket!";
            return -1;
        }
    
        if(::connect(sock, (struct sockaddr*)(&sin), sizeof(struct sockaddr_in)) != 0) {
            fprintf(stderr, "failed to connect!\n");
            return -1;
        }
    
        fprintf(stderr, "sock connected!\n");
    
        /* Create a session instance
            */
        session = libssh2_session_init();
        if(!session)
            return -1;
    
        fprintf(stderr, "session inited!\n");
    
        /* ... start it up. This will trade welcome banners, exchange keys,
            * and setup crypto, compression, and MAC layers
            */
        rc = libssh2_session_handshake(session, sock);
        if(rc != 0) {
            qDebug() << rc;
            fprintf(stderr, " %d\n", rc);
            return -1;
        }
    
        fprintf(stderr, "session handshake!\n");
    
        /* At this point we havn't yet authenticated.  The first thing to do
            * is check the hostkey's fingerprint against our known hosts Your app
            * may have it hard coded, may go to a file, may present it to the
            * user, that's your call
            */
        fingerprint = libssh2_hostkey_hash(session, LIBSSH2_HOSTKEY_HASH_SHA1);
        fprintf(stderr, "Fingerprint: ");
        for(i = 0; i < 20; i++) {
            fprintf(stderr, "%02X ", (unsigned char)fingerprint[i]);
        }
        fprintf(stderr, "\n");
    
    
        /* We could authenticate via password */
        if(libssh2_userauth_password(session, username, password)) {
            fprintf(stderr, "Authentication by password failed.\n");
            goto shutdown;
        }
    
        qDebug() << "Authentication by password successful";
        /
        /
    
        /* Request a file via SCP */
    
        const char* loclfile = "源文件";
        const char *scppath = "目标文件";
        FILE *local = fopen(loclfile, "rb");
        if(!local)
        {
            qDebug() << "Can't open local file: " << loclfile;
            return -1;
        }
    
        struct stat fileinfo;
        stat(loclfile, &fileinfo);
    
    
        channel = libssh2_scp_send(session, scppath, fileinfo.st_mode & 0777, (unsigned long)fileinfo.st_size);
        if(!channel)
        {
            char *errmsg;
            int errlen;
            int err = libssh2_session_last_error(session, &errmsg, &errlen, 0);
    
            qDebug() << "Create channel failed. " << err;
            goto shutdown;
        }
    
        qDebug() << "SCP session waiting to send file";
    
        do
        {
            char mem[1024];
            size_t nread = fread(mem, 1, sizeof(mem), local);
            if(nread <= 0) /* end of file */
            {
                break;
            }
    
            char *ptr = mem;
            do
            {
                /* write the same data over and over, until error or completion */
                int rc = libssh2_channel_write(channel, ptr, nread);
                if(rc < 0) // error
                {
                    qDebug() << "ERROR " << rc;
                    break;
                }
                else /* rc indicates how many bytes were written this time */
                {
                    ptr += rc;
                    nread -= rc;
                }
            } while(nread);
    
        } while(1);
    
        libssh2_channel_free(channel);
        channel = NULL;
    
    shutdown:
    
        libssh2_session_disconnect(session, "Normal Shutdown, Thank you for playing");
        libssh2_session_free(session);
    
    #ifdef WIN32
        closesocket(sock);
    #else
        close(sock);
    #endif
        fprintf(stderr, "all done\n");
    
        libssh2_exit();
    
        return 0;
    }

     

    展开全文
  • libcurl 支持openssl协议 编译好的库和头文件以及openssl库文件。可以支持https地址的访问。备注:可能代码需要制定不验证ssl证书(curl_easy_setopt(easy_handle, CURLOPT_SSL_VERIFYPEER, 0L);)
  • libssh2交叉编译

    2021-04-12 13:48:47
    libssh2编译记录 交叉编译openssl 1. 编译 openssl-1.1.1e.tar.gz 2. 编译 openssl-1.0.0s.tar.gz 交叉编译libssh2 解决链接器ld错误 其它: # 主机环境 ubuntu 18..04LTS 交叉编译openssl ...


    # 主机环境 ubuntu 18..04LTS

    交叉编译openssl

    https://www.openssl.org/source/old/
    编译libssh2时依赖openssl, 我的库中没有这个,因此首先移植这个。
    这里试着编译了两种版本,首先尝试的是1.1.1版本,不过这个版本依赖glibc版本为2.25或更高,而我的glibc版本为2.21,因此最终放弃了这个版本,最终使用的是旧版 1.0.0。

    1. 编译 openssl-1.1.1e.tar.gz

    tar xvf openssl-1.1.1e.tar.gz
    cd openssl-1xx
    
    ./config CC=arm-linux-gnueabi-gcc no-asm --prefix=<INSTALL DIR>
    vim Makefile 
    	# 搜索 '-m64' 并删除
    make clean
    make
    make install
    

    因为glibc的移植太麻烦了。改为移植较旧的openssl.

    2. 编译 openssl-1.0.0s.tar.gz

    这个版本跟上面配置不一样,开始整了挺久,这玩意用的是./Configure配置

    下面编译:

    tar xvf openssl-1.0.0s.tar.gz 
    cd openssl-1.0.0s/
    
    ./Configure --prefix=<INSTALL DIR> shared no-asm linux-armv4
    make clean
    make CC=arm-linux-gnueabi-gcc
    make install
    

    直接用./config CC=arm-linux-gnueabi-gcc no-asm --prefix=<INSTALL DIR> shared --host=arm-linux的话,报以下信息,但实际是没配置好的

    Operating system: x86_64-whatever-linux2
    Configuring for linux-x86_64
    target already defined - linux-x86_64 (offending arg: CC=arm-linux-gnueabi-gcc)
    

    交叉编译libssh2

    tar xvf libssh2-1.9.0.tar.gz
    cd libssh2-1.9.0/
    
    ./configure CC=arm-linux-gnueabi-gcc \
    	--prefix=/home/socbis/Xilinx/lib_build/libssh2 \
    	--host=arm-linux \
    	--with-libssl-prefix=<INSTALL DIR> \
    	LDFLAGS="-Wl,-rpath-link,/home/socbis/Xilinx/lib_build/openssl/lib"
    make && make install
    

    解决链接器ld错误

    如:ld: warning: libssl.so.1.1, needed by ../src/.libs/libssh2.so, not found (try using -rpath or -rpath-link)

    在原配置中添加LDFLAGS="-Wl,-rpath-link,/home/socbis/Xilinx/lib_build/openssl/lib"

    ./configure CC=arm-linux-gnueabi-gcc \
    --prefix=/home/socbis/Xilinx/lib_build/libssh2 \
    --host=arm-linux \
    --with-libssl-prefix=/home/socbis/Xilinx/lib_build/openssl \
    LDFLAGS="-Wl,-rpath-link,/home/socbis/Xilinx/lib_build/openssl/lib"
    

    其它:

    查看gcc编译器 include <> 搜索路径

    $ gcc -E -v -
    
    #省略...
    
    #include "..." search starts here:
    #include <...> search starts here:
     /usr/lib/gcc/x86_64-linux-gnu/7/include
     /usr/local/include
     /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
     /usr/include/x86_64-linux-gnu
     /usr/include
    End of search list.
    
    $ arm-linux-gnueabi-gcc -E -v -
    
    #省略...
    
    #include "..." 搜索从这里开始:
    #include <...> 搜索从这里开始:
     /home/socbis/gcc/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/7.4.1/include
     /home/socbis/gcc/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/7.4.1/include-fixed
     /home/socbis/gcc/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabi/7.4.1/../../../../arm-linux-gnueabi/include
     /home/socbis/gcc/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/../arm-linux-gnueabi/libc/usr/include
    搜索列表结束。
    
    展开全文
  • libssh2编译

    2021-04-21 11:03:24
    近期项目中需要用到ssh链接设备,需要用到libssh2,此文总结了libssh2在windows平台上编译过程,编译结果将在文章末尾放出。 下载libssh2源码 github下载libssh2源码,下载地址:...
  • linux下libssh2的编译

    千次阅读 2019-03-13 15:34:05
    1.下载openssl,进行编译 ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/ssl 再make,在make install ;如果编译出的是静态文件,可加shared,编译为动态文件 2.编译libssh2 ./...
  • 一、准备工作 ndk版本选择(NDK>... 选择curl适配的ssh2,openssl的版本(openssl版本大框架分为1.0和1.1,libssh2和curl都对其所支持的版本比较敏感),因此选定的curl版本是:7.51.0,libssh2的...
  • VS2017编译libcurl {zlib+openssl+libssh2}

    千次阅读 2019-10-16 19:38:30
    VS2017编译libcurl {zlib+openssl+libssh2}前言zlib编译openssl编译libssh2编译curl编译结束 前言 前提条件libcurl开发库需要zlib和openssl的支持。 本文记录完整编译方案。 zlib编译 环境准备 zlib:zlib-...
  • 编译libssh2需要安装OpenSSL,这里自己编译库比较复杂,直接安装带库的包比较方便: 直接从Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions下载 注意,不要下载 light 版本,因为 light ...
  • libssh2在github上下的源码,更改openssl.h文件,使用cmake编译 libcurl使用lib下makefile.m32文件编译。 注意:这几个库调用是一定要注意顺序,否则link会报错,具体可参照附件中的一个实例,实例采用codeblocks...
  • libssh window下的编译

    千次阅读 2018-04-19 09:23:42
    LibSSH2库依赖openssl和zlib两个库,所以我们必须先编译zlib和openssl两个库。 1、zlib库。网上提供了源码和目标DLL安装包把zlib1.dll拷贝到c:/windows/system32下。 2、OpenSSL库。OpenSSL库网上只有源代码,我们...
  • 求助linux下编译libssh2问题linux编译libssh2时问题如下,/usr/bin/ld: /opt/openssl/lib/libcrypto.a(hmac.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object;...
  • 编译好的资源:https://download.csdn.net/download/key_xiaodj/10825541 一、资源下载 ...三、VS2013编译支持zlib、openssllibssh2库 这里我选用的是32位的 zlib和openssl动态库。 用VS2013...
  • libxml2,openssllibssh2交叉编译

    千次阅读 2017-05-25 20:06:30
    openssl-1.0.1e libssh2-1.4.3 linux下的开源软件的编译比较统一,一般分为如下几步 ./configure;make;make install 如果是交叉编译需要考虑,1.指定交叉编译工具的PATH 2.指定交叉编译工具CC 3.交叉编译...
  • ./configure --prefix=/data/users/mooon/third-party/libssh2 --with-openssl --with-libssl-prefix=/data/users/mooon/third-party/openssl --without-libgcrypt-prefix 得到如下错误时: checkin
  • OpenSSL+zlib+libssh2编译(windows)

    千次阅读 2016-08-30 22:27:15
    OpenSLL编译 1.需要安装perl环境,去ActivePerl官网上下载ActivePerl,该文档撰写时使用的是5.8.8_x64版本;安装完成后,在cmd命令行中输入perl --version会显示当前的版本,否则需要将perl.exe所在的路径添加到...
  • linux需要的开源库。openssllibssh2。附编译方法。https://blog.csdn.net/CSDN369369/article/details/108446631
  • 编译libssh2遇到的问题

    2021-05-13 03:54:49
    pt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/../lib/gcc/arm-linux-gnueabi/6.3.0/../../../../arm-linux-gnueabi/bin/ld:warning: libssl.so.1.1, needed by ../src/.libs/libssh2.so, notfound (try using...
  • 下载源码包,地址如下: openssh http://www.openssh.com/portable.html openssl http://www.openssl.org/source zlib http://www.zlib.net/ 2.交叉编译 创建工作目录: #mkdir /work #cd /work
  • #Windows库编译# libssh2

    万次阅读 2019-04-22 20:56:39
    从官网https://www.libssh2.org/snapshots/下载最新版本的源码包 解压 用 VS2017打开libssh2\win32\libssh2.dsw(其实你可以用任何版本...tests 是一个测试的项目,libssh2是我们需要编译的库项目。 打开 l...
  • openssl编译使用

    2018-10-16 15:54:15
    安装ActivePerl-5.22.4.2205-MSWin32-x86-64int-403863.exe,cmd中执行perl有输出。安装nasm-2.12.02rc9-installer-x64.exe并将其bin目录加入到环境变量中,cmd中...解压openssl-1.0.2j.tar.gz文件cmd进入openssl-1....
  • libssh2静态库编译

    千次阅读 2014-04-08 23:24:11
    libssh2静态库编译
  • 最近编译libssh2时,一直不能通过,参照libssh2和openssl源代码,对libssh2做如下修改。1 在src/openssl.h 文件中增加如下头文件 #include #include 2 在src/openssl.hsrc/openssl.h Showing the top two matches....
  • 在Windows编译libssh

    2019-12-16 11:45:14
    关于如何编译的一封邮件 > Can you please share the guide/instructions/setup to build the library on > Windows 64/32 bit? a) Install Visual Studio or MinGW b) Install OpenSSL ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,333
精华内容 533
关键字:

libsshopenssl编译