Qt - Visual Studio 2013 加载项不会编译项目

Posted

技术标签:

【中文标题】Qt - Visual Studio 2013 加载项不会编译项目【英文标题】:Qt - Visual Studio 2013 Add-in won't compile the project 【发布时间】:2014-08-24 22:45:46 【问题描述】:

我已经从他们的网站安装了这些文件:

适用于 64 位 Windows 的 Qt 5.3.1(VS 2013,OpenGL,571 MB) 适用于 Qt5 的 Visual Studio 插件 1.2.3

之后,我尝试遵循这个简单的tutorial,但是当我尝试实际构建生成的项目时,它无法链接说“错误 LNK1112:模块机器类型‘X86’与目标机器类型‘x64’冲突”。我完全按照教程中的人所说,将目标机器更改为 Machine64,并将平台设置为 x64。如果我尝试将其构建为 Win32,则会弹出以下消息框。:

我已将“Qt 版本”路径设置为C:\Qt\Qt5.3.1\5.3\msvc2013_64_opengl。也许这就是困扰链接器的原因?附带说明一下,我的解决方案中有三个项目 - 其中两个是 x86,Qt 一个是 x64。

更新:在 Qt Creator 中一切正常。

更新 2: Qt 项目的 vcxproj.user 文件:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ShowAllFiles>true</ShowAllFiles>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <QTDIR>C:\Qt\Qt5.3.1\5.3\msvc2013_64_opengl</QTDIR>
    <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <QTDIR>C:\Qt\Qt5.3.1\5.3\msvc2013_64_opengl</QTDIR>
    <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <LocalDebuggerEnvironment>PATH="$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
    <QTDIR>C:\Qt\Qt5.3.1\5.3\msvc2013_64_opengl</QTDIR>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <LocalDebuggerEnvironment>PATH="$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
    <QTDIR>C:\Qt\Qt5.3.1\5.3\msvc2013_64_opengl</QTDIR>
  </PropertyGroup>
</Project>

【问题讨论】:

如果在任一架构中进行重建会发生什么?对于 x64 PATH="$(QTDIR)\bin%3b$(PATH)。有一个未关闭的开始引号。 右击你的项目 -> Qt 项目设置 -> 属性选项卡 -> 版本(通过标签右侧的下拉菜单更改此处) @W.B.它已经设置为我在 Qt Options -> Qt Versions 中定义的那个。 @UmNyobe 我要么收到 LNK1112 错误,要么弹出消息框。 @Venom 你在 64 位的路径上有错字 【参考方案1】:

通过将 x64 版本的 Qt 与 x86 版本交换来解决。项目按预期构建和运行。

【讨论】:

【参考方案2】:

您的问题是您的应用程序的 32 位和 64 位都配置为与 Qt 64 位链接。 32 位版本需要 Qt 32 位,64 位版本需要 Qt 32 位。成功的配置会在 win32 上将 &lt;QTDIR&gt; 设置为 C:\Qt\Qt5.3.1\5.3\msvc2013_32_opengl,在 x64 上设置 C:\Qt\Qt5.3.1\5.3\msvc2013_64_opengl

【讨论】:

以上是关于Qt - Visual Studio 2013 加载项不会编译项目的主要内容,如果未能解决你的问题,请参考以下文章

Qt - Visual Studio 2013 加载项不会编译项目

使用 Visual Studio 2013 编译 Qt 5.4.1 时出现问题

Visual Studio 2013 控制台应用程序中的 Qt 和 opencv

带有 Visual Studio 2013 的 Qt 5.4 - 缺少 QtCored.dll

从 Visual Studio 2013 项目制作 qt5.3.1 .pro 文件

Setup QT 5.5.1 + OpenCv 3.0 + Visual Studio 2013 on windows 10