2011-05-05 116 views
10

我有一個在Visual Studio 2010下構建但使用.Net 3.5的C++/CLI應用程序。根據需要,我手動編輯我的項目文件以添加值爲3.5的TargetFrameworkVersion,並且能夠在x86(32位)模式下毫無問題地構建它。但是,當我切換到x64(64位)模式時,出現以下錯誤:無法使用VS 2010,.Net 3.5和64位構建C++/CLI應用程序

錯誤MSB8014:執行路徑(C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin \ x86_amd64)找不到。

我確實安裝了VS 2008(9.0),但bin文件夾下沒有x86_amd64目錄。我試圖通過添加這個文件夾(和目標文件中的下一行將失敗的amd64文件夾)來欺騙它,然後我得到了錯誤:

致命錯誤LNK1112:模塊機器類型'X86'衝突與目標機器類型'x64'

我不明白,因爲我的項目沒有明確的鏈接。我將它交互的C#程序集切換到x64版本(而不是任何CPU),但無濟於事。

僅供參考:所有內容均以32位模式正確生成。如果我切換到.Net 4.0(v100),所有東西都可以在64位模式下正確構建。我在發佈和調試模式下都會遇到同樣的錯誤。

任何想法,將不勝感激。

+0

什麼是你的構建操作系統? – 2011-05-06 04:33:11

+0

操作系統是Windows 7 - 64位 – Beast 2011-05-06 16:08:58

回答

18

如果您正在編譯項目屬性中從V100更改爲V90的「工具集」,並且您已將Visual Studio 2008安裝在同一開發計算機上,只需轉到控制面板,程序和功能,選擇Visual Studio 2008,右鍵單擊,選擇卸載/更改,然後選擇添加/刪除特性,然後在顯示特性列表時,在默認情況下未安裝的Visual C++下查找x64編譯器/文件,但通過單擊在它旁邊的複選框中,它將添加所需的文件。

+0

解決了它 - 謝謝! – Beast 2011-06-08 20:49:07

+0

謝謝Eric Eric! – sambha 2012-09-13 16:18:49

+0

這個伎倆。非常感謝。 – 2013-06-24 14:23:22

5

在VS2010應該鏈接到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64

你可能得到的配置錯誤,或從VS2008項目進口。

轉到Configuration -> General -> Platform Toolset。確保它的v100(VS2010)

如果不幫忙,看Configuration -> VC++ Directories。這就是設置路徑的地方。
你可以看到它在$(VCInstallDir)看起來在你的電腦上被設置爲VS2008路徑。

相關問題