Win10下编译libssh2 x86 x64动态库

软件准备

编译libssh2需要用到以下软件,请自己准备并安装好。

  1. cmake – 生成工具 (2.8以上版本, 注意安装时勾选添加到环境变量项)
  2. VS2019 VC++ – 编译器动态库
  3. git软件 – 克隆源代码 当前版本为V1.9.0

下载源代码

使用git软件下载libssh2源代码 https://github.com/libssh2/libssh2

生成DLL文件

打开"cmd.exe"并切换到libssh2下载文件目录,执行如下命令生成Win32系统下DLL文件,Win64系统下DLL生成方式与此类似。

  • Win32版本
REM 生成Win32系统下VC工程并编译代码
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -A Win32 .. -B "x86"
cmake --build x86 --config Release
  • Win64版本
REM 生成Win64系统下VC工程并编译代码
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -A x64 .. -B "x64"
cmake --build x64 --config Release

编译后DLLLIB文件位于x86x64目录的src\Release目录下。

为使x64版本的编译输出DLL文件名称不同以方便不同系统架构软件使用libssh动态库工作在同一目录,在编译x64版本动态库前需要打开x64的工程修改其输出目标名称导入库名称

在这里插入图片描述
在这里插入图片描述

文件下载

编译后DLL文件下载地址:
https://download.csdn.net/download/sdhongjun/15682389

工程引用

DLL文件

x64生成的DLL重命名为libssh2_x64.dllx86生成的DLL名称保持不变拷贝到项目的Bin目录下(我的测试项目win32x64可执行文件均生成到Bin目录)。

LIB文件

libssh2_x64.liblibssh2.lib拷贝到项目源码目录下,在适当位置添加如下代码将lib文件加入到工程。

#ifdef _WIN64
#    pragma comment(lib, "libssh2_x64")
#else
#    pragma comment(lib, "libssh2")
#endif

头文件

libssh2源代码include目录下的libssh2.h文件拷贝到VC工程源代码目录下并使用include指令添加到工程中。

#include "libssh2.h"

参考资料

https://stackoverflow.com/questions/28350214/how-to-build-x86-and-or-x64-on-windows-from-command-line-with-cmake

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

sdhongjun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值