windows - 如何为 Windows 构建静态 Qt 库并将它们与 Qt Creator 一起使用

标签 windows qt static qt-creator libraries

我已经下载了以下 Qt 源代码: http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.3.zip 并尝试使用 MS VC 2010 设置带有静态库的发行版。

之前我确实阅读了以下文章:

http://www.qtcentre.org/wiki/index.php?title=Building_static_Qt_on_Windows

http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler

我修改了 mkspecs\win32-msvc2010\qmake.conf - 更新了 QMAKE_CFLAGS_RELEASE key 以使用 MT 选项而不是 MD。 之后,我在 VC 2010 命令提示符下执行了以下命令行:

   configure -platform win32-msvc2010 -static -release

完成后,我被要求简单地运行 nmake,我照做了。 之后,我尝试将静态库分发文件夹中的 qmake 添加到 Qt Creator(工具/选项 - Qt 部分)。它不成功 - Qt Creator 收到“无法检测 Qt 版本使用的 ABI”消息。

我还尝试(在干净的发行版上)在运行配置命令之前修改 qmake/Makefile.win32 文件 - 将/MT 选项添加到 CFLAGS_BARE 定义中,但在 Qt Creator 中得到了相同的错误消息。

我正在使用 Qt Creator 2.3。 - 单独安装。

我该如何解决这个问题?

最佳答案

您使用的是 2.3 的稳定版本还是 Qt Creator 的候选发布/测试版?检查版本的Help->About Qt Creator。如果它类似于 2.x.xx,请尝试更新到更新版本的 Qt Creator。

您描述的问题已列为 2.2.0 的错误,并已设置为在 2.3.0 中修复:

https://bugreports.qt.io/browse/QTCREATORBUG-4771

如果您已经在使用较新的版本并且仍然有这个问题,我已经阅读了一些关于将 QtCore4.dll 放在 .lib 文件旁边的内容。 Qt Creator 然后会找到基于该 dll 的 Qt 版本,但无论如何都会使用 .libs 进行链接。

关于windows - 如何为 Windows 构建静态 Qt 库并将它们与 Qt Creator 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8142047/

相关文章:

尝试使用 msys2 编译库时类型冲突

c++ - 'sizeof' 对 QGlobal.h 中不完整类型 'QStaticAssertFailure<false>' 的无效应用

c++ - Qt 连接一个 ui 成员和同一连接中的两个信号

java - 静态变量是否在默认构造函数中初始化?

c# - 为什么静态 RegEx 比实例 RegEx 慢?

c++ - 使用跨平台框架为一个平台开发有什么缺点?

c++ - 将变量设置为 cmd.exe

c# - 带有图形的自定义字体样式

c++ - 获取 QStringList 的前一个元素

django - django 中无法加载静态文件