使用msvc for x64编译libssh

时间:2017-08-18 12:25:14

标签: c++ visual-studio-2012 64-bit libssh

首先,我不是来自cmake和所有这些东西的源码构建库的专家。但不幸的是,我必须这样做。我按照libssh的INSTALL文档中提到的步骤进行了跟踪,并阅读了一些存档的邮件,但没有任何帮助我。这听起来很容易在网上,但我没有把它带到工作。这是我到目前为止所做的:

  • 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。好的,检查make文件使用变量LIB_INSTALL_DIR来设置路径,在我的例子中路径是空的。将项目添加到名为LIB_INSTALL_DIR的cmake-gui,其路径为../build dir。

很好,配置工作,生成工作,打开项目工程。尝试在error: C1083: Cannot open include file: 'config.h': No such file or directory中建立“ALL_BUILD”。搜索我的整个磁盘的文件,没有找到。我相信cmake必须生成这个文件,猜对了吗?或者这个文件丢失了吗?希望有人能帮助我!或者可能有一个已编译的lib的链接?不明白为什么libssh不提供下载,x64今天很正常。

1 个答案:

答案 0 :(得分:0)

最初的灵感通常是正确的,缺少的config.h通常由cmake生成。

如果你使用cmake-gui.exe,它需要一个到源的路径,标题是'源代码在哪里:'。我认为这意味着源代码文件的路径,它位于…/src下,但这是错误的。我需要设置根文件夹的路径,在我的情况下,一切都像魅力一样。

还需要更改回OpenSSL版本1.0.2,因为大约有30个函数声明已经改变。