VS 2015编译libssh2

准备文件:

libssh2-1.8.0.tar.gz

Win32OpenSSL-1_1_1.exe

 

先去libssh2官网下载源码:https://www.libssh2.org

再去下载ssl编译好的库: http://slproweb.com/products/Win32OpenSSL.html

尝试了一下自己编译OpenSSL,太费劲。

 

libssh2基于ssl,先安装Win32OpenSSL-1_1_1.exe。

解压libssh2-1.8.0.tar.gz到随便一个地方,打开其win32目录中的libssh2.dsw,选择VS 2015。

打开后有个升级提示,顺其自然就行了。

OK了后,解决方案中有两个项目,libssh2和tests。

解决方案配置选择OpenSSL LIB Release。

打开libssh2项目的属性,

C/C++ -> 常规 -> 附加包含目录 -> 编辑并添加刚刚安装的OpenSSL根目录中的include目录。

库管理器 -> 常规 -> 附加库目录 -> 添加OpenSSL根目录中的lib\VC目录。

库管理器 -> 常规 -> 附加依赖项 -> 添加libcrypto32MT.lib和libssl32MT.lib。这两个必须在上面添加的目录中能找到。

C/C++ -> 代码生成 -> 运行库 -> 修改为多线程(MT)。上面添加的都是MT.lib。

 

Ctrl + F5

1>------ 已启动全部重新生成: 项目: libssh2, 配置: OpenSSL LIB Release Win32 ------
1>  agent.c
1>  channel.c
1>  comp.c
1>  crypt.c
1>  global.c
1>  hostkey.c
1>  keepalive.c
1>  kex.c
1>  knownhost.c
1>  mac.c
1>  mbedtls.c
1>  misc.c
1>  openssl.c
1>  packet.c
1>  pem.c
1>  publickey.c
1>  scp.c
1>  session.c
1>  sftp.c
1>  transport.c
1>  正在生成代码...
1>  正在编译...
1>  userauth.c
1>  version.c
1>  wincng.c
1>  正在生成代码...
1>libssl32MT.lib(libssl-1_1.dll) : warning LNK4006: __NULL_IMPORT_DESCRIPTOR 已在 libcrypto32MT.lib(libcrypto-1_1.dll) 中定义;已忽略第二个定义
1>libssl32MT.lib(libssl-1_1.dll) : warning LNK4221: 此对象文件未定义任何之前未定义的公共符号,因此任何耗用此库的链接操作都不会使用此文件
1>  libssh2.vcxproj -> D:\Desktop\libssh2-1.8.0\win32\.\Release_lib\libssh2.lib
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========

 

参考文章:

Windows VS2015 编译 libssh2 1.7.0    http://www.mycode.net.cn/language/cpp/1681.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
交叉编译libssh是一种在一个平台上开发和编译一种目标平台上的软件的方法。在交叉编译libssh之前,我们需要确保已经成功地配置了我们的交叉编译工具链。交叉编译工具链包括目标平台的编译器、链接器和相关的库文件。以下是一个用于交叉编译libssh的简单步骤: 1. 首先,从libssh的官方网站(https://www.libssh.org/)上下载最新的源代码包,并解压缩。 2. 进入解压缩后的libssh目录,并创建一个用于交叉编译的目标文件夹。 3. 在终端中,使用以下命令进入环境变量编辑器: ``` export CC=/path/to/cross-compiler export CXX=/path/to/cross-compiler-c++ export LD=/path/to/cross-linker export AR=/path/to/cross-ar ``` 将`/path/to/`替换为实际的交叉编译工具链的路径。 4. 配置libssh的编译选项,并确保--host参数设置为目标平台的架构。例如,如果目标平台是ARMv7架构,命令应类似于: ``` ./configure --host=armv7 -–prefix=/path/to/target/installation/directory ``` 在这里,`/path/to/target/installation/directory`是你想要将交叉编译libssh安装到的目标文件夹。 5. 运行`make`命令来编译libssh。 6. 运行`make install`命令来安装已编译libssh到目标文件夹。 完成这些步骤后,你将会在目标文件夹中获得一个经过交叉编译libssh库。你可以将该库和相关的头文件复制到目标平台上的项目中,并使用交叉编译工具链来编译你的应用程序,以便使用libssh库。 需要注意的是,交叉编译libssh可能会有一些特定于目标平台的设置和问题。一些依赖性库可能需要在目标平台上进行编译和安装。在进行交叉编译之前,最好查阅目标平台支持的交叉编译工具链的相关文档,以了解特定于目标平台的配置和设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值