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>
【问题讨论】:
如果在任一架构中进行重建会发生什么?对于 x64PATH="$(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 上将 <QTDIR>
设置为 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