无法静态构建x64版本的QT(LNK1112模块机器类型冲突)

时间:2015-04-15 17:46:40

标签: qt

我想用QT(5.4.1)创建一个静态应用程序,并在x64环境中使用visual studio 2013(带有QT加载项)进行编译。

我下载了最新的源代码,并使用VS well well x64命令提示符编译它。我确保平台在任务管理器→详细信息→平台中是64位。这是我运行的configure命令:

**configure** -debug-and-release -opensource -platform win32-msvc2013 -static -nomake examples -nomake tests

一旦我用jom编译它并正确地将它链接到我的项目,我只能用win 32配置构建它。当我尝试x64配置时,我得到:

Error   3   error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'   D:\....\Qt5Widgets.lib(qwidget.obj)

这显然意味着我的二进制文件是以32位格式构建的。如果是这样的话,我不知道如何在x64中构建它们。有任何想法吗?我在互联网上搜索过,许多人在没有得到帮助的情况下走到了死胡同。

1 个答案:

答案 0 :(得分:1)

link might help,即使它是旧版Qt。

基本上,你必须运行你的配置&在64位MSVC命令提示符下构建进程,以便构建64位二进制文​​件。我还猜想,如果你必须构建32位和64位版本,那么从干净的Qt环境开始是一个好主意。