【发布时间】:2016-10-22 14:04:26
【问题描述】:
我正在尝试在我的项目中使用 Poco 作为具有动态运行时的静态库。我已经下载了 Poco 1.7.3 的完整源代码,并使用 buildwin.bat 脚本使用我自己编译的 OpenSSL 1.0.2h 共享库(即调整了 buildwin.bat 中的路径)来编译库。
通过buildwin.bat 140 build static_md debug Win32 nosamples notests msbuild 生成PocoXYZmd.lib 工作正常。
但是,当我尝试在我自己的项目中链接 PocoXYZmd.lib 时,链接器会搜索 PocoXYZ.lib,这是 PocoXYZ.dll 的导入库。
使用 shared 构建 Poco 并在链接器搜索路径中提供 PocoXYZ.lib 导入库,我在已定义 Poco 符号时遇到错误(显然)。
是我遗漏了一些重要的东西还是 Poco 的构建脚本中的错误?
我已将 Poco 配置为仅构建以下组件:Foundation、XML、JSON、Util、Net、Crypto、NetSSL_OpenSSL。
此外,我不得不调整 Crypto 和 NetSSL_OpenSSL 的 v140 vcxproj 文件以链接到 libeay32.lib 和 ssleay32.lib(OpenSSL DLL 的导入库)而不是 libeay32md.lib 和 ssleay32md.lib(根据 OpenSSL 1.0.2h 构建脚本,不知道这些可能来自哪里)。
我在 Windows 7 上使用 Visual Studio 2015 Update 2,在 32 位 Visual Studio 开发人员提示中执行所有操作。
【问题讨论】:
标签: windows static-linking poco-libraries