【问题标题】:Cannot compile Qt application in Win32 release mode无法在 Win32 发布模式下编译 Qt 应用程序
【发布时间】:2014-03-06 20:44:49
【问题描述】:

我有 VS2012 和 QT 插件。我可以在release x64模式下编译,但是当我将设置更改为Win32并编译时,出现这样的错误:

Qt5Core.lib(Qt5Core.dll):致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突

我试图上传这个 dll 文件,但还是有问题。有人可以帮忙吗?

【问题讨论】:

  • 要构建 32 位版本,您需要 32 位版本的 Qt。
  • 您使用的 Qt 版本是 64 位版本。您需要构建(或下载,如果可用)32 位 Qt 并使用它。
  • 一年后这个问题还没有解决吗??
  • 尽管尝试 32 位 Qt 没有帮助,但无需更多操作

标签: c++ qt


【解决方案1】:

如果您在 64 位机器上执行此操作,则需要同时安装 32 位和 64 位 qt。 然后你需要将 Qt 添加到 Visual Studio。 在vs中,有一个菜单“QT”,里面有“QT Options”,然后选择每次编译使用哪个QT。

【讨论】:

    【解决方案2】:

    正如其他人已经指出的那样,当您尝试构建 32 位二进制文​​件时,您将需要相应的 32 位 Qt 库。您可以同时安装 32 位和 64 位,但请注意不要在随机情况下混淆它们。

    如果你去Qt download page,你会看到Qt 5的VS2012下载选项,所以选择你需要的版本,下载它,然后安装。

    这是您唯一可用的变体:

    Qt 5.2.1 for Windows 32-bit (VS 2012, 541 MB)

    如果这还不够好(我认为应该),那么您也可以根据以下说明自行构建 Qt:

    Building Qt 5 from Git

    请注意,您也可以从 tarball 构建,步骤非常相似。

    【讨论】:

    • 谢谢,我从链接安装 Qt 5.2.1,设置 win32 并收到 C:\Qt\Qt5.2.1\5.2.1\msvc2012\include\QtGui/qopengl.h(82) : 致命错误 C1083: 无法打开包含文件: 'GLES2/gl2.h': 没有这样的文件或目录....
    • 我包含在 VC++ 目录中:$(QTDIR)\include, $(QTDIR)\include\QtGui, $(QTDIR)\include\Qtcore, $(QTDIR)\include\QtOpenGL 现在我've got 1>c:\qt\qt5.2.1\5.2.1\msvc2012\include\qtcore\qdatetime.h(122): warning C4003: not enough actual parameters for macro 'min' ...在代码中是对于行:静态内联 qint64 nullJd() { return std::numeric_limits::min(); }。你能帮拉兹洛吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多