我無法讓我的程序在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),因爲那一個是最重要的。另外兩個是錦上添花:-)