【发布时间】:2020-06-11 05:44:43
【问题描述】:
Poco Libraries 可以非常强大和有用......但也很难构建:-(我现在已经进入了几天尝试升级的过程:
- Poco 1.9.0,win32 构建,包括 NetSSL_OpenSSL 和 Data/MySQL,在 Windows 7 上,使用 MS Visual Studio 2015 自 2018 年 4 月以来通过 Windows 资源管理器中的 buildwin.cmd 脚本成功构建
到:
- Poco 1.10.1、win32 和 x64 构建,包括 NetSSL_OpenSSL 和 Data/MySQL(32 位)或 Data/PostgreSQL(64 位),在 Windows 10 上,使用 MS Visual Studio 2019,通过任何方式构建.
到目前为止,我无法通过任何方式使构建过程在从旧构建到新目标的任何重要方向上让步……除非可能通过 CMake。
由于 CMake 似乎是构建 Poco 的首选方式,并且没有其他方法(例如 buildwin.cmd)按预期工作,我正在尝试重建 32 位 DLL,以便可以在我的应用程序中使用经过验证的旧组件进行测试。看起来很有希望。但是加密构建抱怨:
LINK : fatal error LNK1104: cannot open file 'libcrypto.lib' [S:\3rdparty\Poco-build32\Crypto\Crypto.vcxproj]
这很奇怪:在整个Crypto.vcxproj 文件中,根本没有提到 libcrypto.lib,只有 libcrypto32MD.lib 和 libcrypto32MDd.lib。为什么它还要寻找 libcrypto.lib?即便如此,如果它应该找到libcrypto.lib,为什么它在C:\Program Files (x86)\OpenSSL-Win32\lib 和OPENSSL_ROOT_DIR 设置为C:\Program Files (x86)\OpenSSL-Win32 时没有成功?我错过了什么?我通过以下方式达到这一点:
cmake -HS:\3rdparty\Poco -B S:\3rdparty\Poco-build32 -G "Visual Studio 16 2019" -A win32
cmake --build s:\3rdparty\Poco-build32 --config RelWithDebInfo
更新:如果我在尝试以其他方式构建时修改了任何内容(buildwin.cmd,Visual Studio 中的批量构建),我将整个 Poco 文件结构放在一边,并解压缩一个新副本。 OpenSSL 安装也很新鲜,没有受到影响。 x64 版本产生相同的错误...
【问题讨论】:
-
Poco 告诉你
openssl是一个依赖项。 pocoproject.org/download.html#dependencies
标签: cmake poco-libraries