如何在Windows上构建静态Qt库并与Qt Creator一起使用

5
我已经下载了以下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键更新为使用MT选项而不是MD。然后我从VC 2010命令提示符执行了以下命令行:
   configure -platform win32-msvc2010 -static -release

当这个过程结束后,我被要求简单地运行nmake,我照做了。之后,我尝试将来自静态库分发文件夹的qmake添加到Qt Creator(工具/选项 - Qt部分),但没有成功——Qt Creator显示“无法检测到Qt版本使用的ABI(s)”消息。
我还尝试在干净的分发上修改qmake/Makefile.win32文件,然后运行configure命令——在CFLAGS_BARE定义中添加/MT选项,但是在Qt Creator中仍然得到了同样的错误消息。
我正在使用单独安装的Qt Creator 2.3。
如何解决这个问题?
2个回答

0

您正在使用稳定版本的2.3或Qt Creator的候选发布/测试版吗?请检查“帮助”->“关于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进行链接。

我正在使用Qt Creator,可以在这里找到它的下载链接: link 实际地址是: link - user360607
如果您发布此链接是为了告诉我您正在使用当前版本(2.3.1),请尝试我发布的.dll文件。 - Tim Meyer
我从动态 Qt 库构建的发行版中获取了 QtCor4.dll。很奇怪,它似乎可以工作 - Qt 创作者确实识别了来自静态构建分布中的 qmake,即使我只修改了 qmake.conf - QMAKE_CFLAGS_RELEASE = -O1 -Og -GL -MD - user360607
我现在将尝试使用MT标志而不是MD来构建Qt库,使用与QtCore dll相同的解决方法。希望它能再次正常工作。 - user360607

-1

在我的情况下。

qt 5.7.1有/qt5.7.1/qtbase/qmake/project.o文件

但是qt 5.8.0没有project.o文件

我是新手所以正在等待修补程序。

:add

寻找一个名为'Conan'的CI工具的一些信息

在GitHub上,qt-webkit使用conan进行构建。


你能再解释一下吗? - Dieter Meemken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接