【问题标题】:How to use libssh in VS10如何在 VS10 中使用 libssh
【发布时间】:2023-04-01 10:40:01
【问题描述】:

如何将 libssh 实现为编译器可以识别的库?我正在使用 Visual Studio 2010 C++,并且我已经包含了 Boost 库,没有任何问题,但是我使用 Boost 所做的过程很奇怪,我可以看出 libssh 会有所不同。

我真的不想做一个 DLL 文件,我想要一个可执行文件,但是我知道 DLL 文件可以通过 .rc 脚本嵌入到可执行文件中。 (然后提取并加载)

我从来不需要在我的任何项目中包含除 Boost 之外的库,我觉得我真的应该知道如何做到这一点。请注意这是 libssh 而不是 libssh2。谢谢。

【问题讨论】:

标签: c++ visual-studio-2010 libssh


【解决方案1】:

另外确保使用 libssh 0.5.0 或更早版本来构建 VS2010 应用程序,因为较新的 libssh 版本需要 VS2012。

【讨论】:

    【解决方案2】:

    即使帖子很旧,我也有答案,也许它可以对掉在这里的人有所帮助。

    在 Visual Studio 2010 中实现 libssh。

    您需要的不仅仅是一个库,还需要 3 个库来确保一切都能顺利编译。 先下载最新版libssh 在此之后,您将需要 2 个以上的 dll,才能顺利编译:

    • libeay32.dll
    • zlib1.dll

    第一个对我来说不太好识别,所以我只使用了完整的 openssl 库openssl-0.9.8k_WIN32.zip

    下载这些文件后,将它们放入 Visual Studio 中的正确位置。

    去

    • C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC

    打开 C 语言的 Visual Studio -> VC 然后:

    • 复制C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include中包含的文件夹粘贴文件夹libssh\include(包含所有.h 文件)
    • 将文件 ssh.lib 复制到 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
    • 复制 ssh.dll C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin

    将 libeay32.dll 和 zlib1.dll 复制到 bin 文件夹中。 或者,如果您下载了我推荐的 openssl,那么您只需为 lib ssh 执行相同的过程,只是不要忘记将 .exe 文件也复制到带有 dll 的 bin 文件夹中。

    这还没有完成,之后您必须将库链接到项目的编译器中。

    Project -> projectName 属性打开一个带有属性的窗口,然后转到 -> Configuration Properties -> Linker -> input -> Additional Dependencies。

    现在将以下库添加到依赖项中

    ;ssh.lib;ssleay32.lib;libeay32.lib;

    然后它工作得很好

    我希望它可以帮助到这里的人:)

    【讨论】:

    • 感谢您的帖子;这绝对是我见过的关于 libssh 的最全面的指南。
    • @Raphael Teubner libeay32.dll 和 zlib1.dll 用于 libssh?
    • 是的,如果不包含它们,似乎存在一些依赖性问题。只需在没有它的情况下编译,在编译时检查一长串依赖错误,它会显示出来,所以我猜它需要它。
    【解决方案3】:

    您可以在 Windows 上轻松创建静态库。只需在 cmake 配置步骤中将 WITH_STATIC_LIB 设置为 ON。

    注意:libssh 在 LGPL 下获得许可。

    【讨论】:

      【解决方案4】:

      标准的 Windows 安装程序不带有静态库。

      重要提示无论如何,您最终都会得到动态链接的 openssl(zlib 可选)。你确定要这个吗?

      如果你这样做,你需要

      可选: - libz >= 1.2

      1. 下载源码压缩包,
      2. 创建一个源树外的构建目录,
      3. 开始cmake-gui,调整
        • 选择源代码并构建目录
        • 点击配置(例如我选择了VS2010 Win64构建文件)
        • 打开 VStudio,调整并构建为静态库(而不是 DLL)

      希望这将帮助您入门。

      【讨论】:

      • Here is a quick-and-dirty static build I did with VS2010 on XP64;请注意,它禁用了 LIBZ 支持(因为我很懒 :))仍然可以帮助您入门(log.c 中也存在包含错误)。请注意这是多么快速和肮脏,因为(a)我没有更改目录名称,它们仍然被称为“共享”,并且我以最肮脏的方式将示例应用程序链接到静态库。请记住,您仍然需要拥有openssl installed
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 2018-02-23
      相关资源
      最近更新 更多