如何将libssh实现为我的编译器可识别的库?我正在使用Visual Studio 2010 C ++,并且我已经包含了Boost库而没有任何问题,但我使用Boost进行的过程很奇怪,我可以告诉libssh会有所不同。
我真的不想做一个DLL文件,我想要一个可执行文件,但是我知道DLL文件可以通过.rc脚本嵌入到可执行文件中。 (然后提取并加载)
我从来没有将Boost除了Boost包含在我的任何项目中,我觉得我应该真的知道如何做到这一点。请注意这是libssh而不是libssh2。感谢。
答案 0 :(得分:14)
即使帖子陈旧我也有答案,也许对于有人来这里有所帮助。
将libssh实现到Visual Studio 2010中。
您需要的不仅仅是一个库需要3,以确保一切都能很好地编译。 首先下载libssh 的最新版本 在此之后,您将需要另外2个dll,以允许编译而不会出现问题:
对于第一个,它对我来说不是很清楚,所以我只使用了完整的openssl库openssl-0.9.8k_WIN32.zip
在您下载这些文件后,将它们放入Visual Studio中的位置。
转到
打开C语言的视觉工作室 - >虚电路 然后:
将libeay32.dll和zlib1.dll复制到bin文件夹中。 或者,如果您下载了我推荐的openssl,那么您只需为lib ssh执行相同的处理工具,就不要忘记将.exe文件复制到带有dll的bin文件夹中。
在此之后,您还必须将库链接到项目的编译器中。
项目 - > projectName 属性打开一个带有属性的窗口然后去 - > 配置属性 - >链接器 - >输入 - >附加依赖。
现在将以下库添加到依赖项
中<强>; ssh.lib; ssleay32.lib; libeay32.lib; 强>
然后它运作良好
我希望它可以帮助某人在这里帮助:)
答案 1 :(得分:2)
标准的Windows安装程序不带有静态库。
重要无论如何,您最终会动态链接openssl(zlib)。你确定要这个吗?
如果你这样做,你需要
可选的: - libz&gt; = 1.2
cmake-gui
,调整
希望这会帮助你开始。
答案 2 :(得分:1)
您可以在Windows上轻松创建静态库。只需在cmake配置步骤中将WITH_STATIC_LIB设置为ON。
注意:libssh是根据LGPL许可的。
答案 3 :(得分:0)
此外,请确保使用libssh version-0.5.0或更早版本来构建VS2010应用程序,因为较新的libssh版本需要VS2012。