我无法让我的程序在x86模式下编译,但x64可以正常工作。它给了我这个错误:修复moc.exe不被识别为内部或外部命令
1> '"E:\Code\CommonEx\QT\4.8.2-vs10\bin\moc.exe"' is not recognized as an internal or external command, operable program or batch file.
但是,我甚至没有一个E驱动器,我不再使用Qt 4.8.2!
所以我的问题是:为什么编译器试图得到被存储在此路径使用此路径和在地球上?
这是关于我的设置的更多背景信息。我正在使用VS 2015 Professional与Qt5Package扩展版本1.3.9。
在我.vcxproj的底部,这个部分可以发现:
<ProjectExtensions>
<VisualStudio>
<UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" QtVersion="5.6.0" Qt5Version_x0020_Win32="5.6.0-vs2015-x86" Qt5Version_x0020_x64="5.6.0-vs2015-x64" />
</VisualStudio>
</ProjectExtensions>
(这看起来非常正常的我)
我QT5设置页面的样子:
我100%确定路径是正确的,这对我来说也很正常。
我的项目的Qt的设置是这样的:
(同样,这看起来相当正常的我)
这里是我的环境变量表(注意,不是指定QTDIR):
(因为我使用Qt的扩展,我的理解为t帽子也没有必要在这种情况下设置一个环境变量。)
OK,到目前为止,一切顺利。现在,这是踢球者。我删除了我的.user文件,然后以x86和x64模式构建。这是已生成的用户文件:
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH) </LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QTDIR>C:\repos\CommonEx\QT\5.6.0-vs2015-x64</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH) </LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QTDIR>C:\repos\CommonEx\QT\5.6.0-vs2015-x64</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH) </LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH) </LocalDebuggerEnvironment>
</PropertyGroup>
</Project>
我可以清楚地看到,调试下QTDIR标签| Win32和发布| Win32的部分是没有定义!
我已经考虑过使用属性表并设置一个QTDIR变量,但我不知道这是否会与Qt Extension设置的相冲突,我不想让它被调整为两个不同的地方。
为什么QTDIR没有得到补充,为32对的那些。用户文件,但它存在的64位的吗?为什么如果QTDIR没有在用户文件中定义,它默认使用了很久以前我用过的一些路径。 路径存储在哪里?
我会奖励积分的人谁回答第一个(为什么没有产生那些86),因为那一个是最重要的。另外两个是锦上添花:-)