【发布时间】:2014-01-17 13:17:06
【问题描述】:
原始问题略有不同,但属于更重要的问题。
我正在尝试在 Windows 上使用静态 OpenSSL 将 Qt 5.2 构建为静态。
我的最终目标是发布单个二进制文件,而无需提供 libeay32.dll 和 ssleay32.dll。然而,在我看来,这是不可能的。我使用静态 openssl 库构建了静态 Qt,但似乎 Qt 完全忽略了提供的库并始终搜索 DLL。
This 的回答还表明 QtNetwork 总是搜索 DLL 并忽略其他所有内容,但它还指出“两个选项是 将 OpenSSL 编译到 Qt...”但这似乎并不就这样吧。
有人能给出明确的答案吗?
这是我的 Qt 配置(为便于阅读添加了换行符):
configure -static -qmake -opensource -nomake examples -opengl desktop
-platform win32-msvc2010 -openssl -I C:\git\openssl\build\include
-L C:\git\openssl\build\lib OPENSSL_LIBS="-llibeay32 -lssleay32 -lgdi32"
【问题讨论】:
-
为什么不提供相关的
nmake VERBOSE=输出来查看传递给工具链的包含路径? -
@Laszlo Papp:已编辑。
-
那不是
nmake VERBOSE=1输出。 -
你能具体说明要执行什么命令吗?因为这是我得到的输出。我会尝试清理配置以防万一。
-
如您所见,openssl 包含路径未传递给编译器...
标签: c++ qt static openssl qtnetwork