2014-01-15 99 views

回答

3

單擊<New ...>來定義新的x86配置。

define cpu architectrue

0

See

轉到建設 - >配置管理器...

變化 '活動解決方案平臺',以86(如果它的存在。如果僅僅AnyCPU是存在的,然後使用。 )

對於每個有問題的項目,在Platform列中,選擇 '新建'

選擇新平臺作爲'x86',從'任何CPU'複製設置,並確保複選框不勾選。

enter image description here

1

這是一個非常共同錯誤,很難根除。還沒有完全放棄希望。

項目的平臺名稱只與C++項目有關。這是一個大問題,不同編譯器用於生成程序,因爲非託管代碼是由處理器直接執行的機器代碼。因此,在構建程序時,正確選擇x86,x64和ARM是非常重要的。平臺選擇決定了使用什麼編譯器。

這對託管代碼來說不是問題。編譯器不生成機器碼,它們生成MSIL。 Just In Time編譯器在運行時生成機器碼。並且會根據您執行代碼的操作系統的類型來執行此操作。 Windows RT平板電腦或手機將使用ARM抖動。如果您在桌面計算機或服務器上的64位版本的Windows上運行它,則x64抖動將完成任務。 x86抖動處理32位操作系統。再也沒有人關心安騰。

因此,當您的程序編譯爲10時,平臺名稱是什麼並不重要,編譯器生成的程序集與您選擇的任何名稱相同。如果你想爲平臺選擇一個名稱,VS需要一個,那麼「AnyCPU」是一個非常合適的名稱。不要改變它。

可以選擇強制CLR使用不同於默認值的抖動。在中一個的情況下,您可以強制在64位操作系統上使用x86抖動。純粹是因爲64位版本的Windows確實支持執行x86程序。只有一種情況是必要的,您可能會依賴於包含僅作爲32位可執行文件提供的非託管代碼的DLL。

這個強制是完全用完全不同的設置,改變平臺名稱沒有什麼。您可以在C + +項目的Project + Properties,Compile選項卡中找到它。只有EXE項目的設置很重要。

+0

對於大量有用的信息+1 – Firo

相關問題