为 x64 使用 msvc 编译 libssh
Compile libssh with msvc for x64
首先,我不是使用 cmake 和所有这些东西从源代码构建库的专家。但不幸的是我不得不这样做。我按照 libssh 的安装文档中提到的步骤进行操作,并阅读了一些存档邮件,但没有任何帮助。在网络上听起来很简单,但我没有把它付诸实践。这是我到目前为止所做的:
- 从 libssh git
下载(版本 0.7.5)的源代码
- 如INSTALL文件所述,下载并安装cmake(版本3.9.1)
- 如 INSTALL 文件中所述,下载并安装 OpenSSL(版本 1.0.2)
- 忽略 zlib,因为它是可选的
一切都安装在默认路径中。现在启动 cmake-gui.exe 并将源代码设置到 …/src
文件夹,将二进制文件设置到 …/build
文件夹,按“配置”按钮,使用 Visual Studio 12 2013 Win64。
现在生成第一个错误:install Library TARGETS given no DESTINATION
。好的,检查使用变量 LIB_INSTALL_DIR
设置路径的 make 文件,在我的例子中路径是空的。将项目添加到名为 LIB_INSTALL_DIR
的 cmake-gui,路径为 ../build
dir.
很好,配置工作,生成工作,打开项目工作。尝试构建“ALL_BUILD”,最终在 error: C1083: Cannot open include file: 'config.h': No such file or directory
中结束。在我的整个磁盘中搜索文件,没有找到。我相信 cmake 必须生成这个文件,猜对了吗?或者这个文件丢失了吗?希望有人能帮助我!或者可能有一个 link 到一个已经编译的库?不明白为什么libssh不提供下载,x64今天很正常
最初的灵感往往是对的,缺的config.h一般是cmake生成的。
如果您使用 cmake-gui.exe,它需要一个源路径,标题是“源代码在哪里:”。我认为这意味着位于 …/src
下的源代码文件的路径,但这是错误的。我需要设置根文件夹的路径,在我的例子中是 …
,一切都很顺利。
还需要改回 OpenSSL 1.0.2 版,因为大约有 30 个函数声明已更改。
首先,我不是使用 cmake 和所有这些东西从源代码构建库的专家。但不幸的是我不得不这样做。我按照 libssh 的安装文档中提到的步骤进行操作,并阅读了一些存档邮件,但没有任何帮助。在网络上听起来很简单,但我没有把它付诸实践。这是我到目前为止所做的:
- 从 libssh git 下载(版本 0.7.5)的源代码
- 如INSTALL文件所述,下载并安装cmake(版本3.9.1)
- 如 INSTALL 文件中所述,下载并安装 OpenSSL(版本 1.0.2)
- 忽略 zlib,因为它是可选的
一切都安装在默认路径中。现在启动 cmake-gui.exe 并将源代码设置到 …/src
文件夹,将二进制文件设置到 …/build
文件夹,按“配置”按钮,使用 Visual Studio 12 2013 Win64。
现在生成第一个错误:install Library TARGETS given no DESTINATION
。好的,检查使用变量 LIB_INSTALL_DIR
设置路径的 make 文件,在我的例子中路径是空的。将项目添加到名为 LIB_INSTALL_DIR
的 cmake-gui,路径为 ../build
dir.
很好,配置工作,生成工作,打开项目工作。尝试构建“ALL_BUILD”,最终在 error: C1083: Cannot open include file: 'config.h': No such file or directory
中结束。在我的整个磁盘中搜索文件,没有找到。我相信 cmake 必须生成这个文件,猜对了吗?或者这个文件丢失了吗?希望有人能帮助我!或者可能有一个 link 到一个已经编译的库?不明白为什么libssh不提供下载,x64今天很正常
最初的灵感往往是对的,缺的config.h一般是cmake生成的。
如果您使用 cmake-gui.exe,它需要一个源路径,标题是“源代码在哪里:”。我认为这意味着位于 …/src
下的源代码文件的路径,但这是错误的。我需要设置根文件夹的路径,在我的例子中是 …
,一切都很顺利。
还需要改回 OpenSSL 1.0.2 版,因为大约有 30 个函数声明已更改。