天天看點

Visual Studio 2008編譯多平台切換時出現的編譯問題解決記錄

在工程解決方案中使用多平台時,會有些意想不到的問題發生,今天我就遇到了兩個問題,一個是編譯時資源重複定義的問題,另一個是預編譯頭檔案的問題。

第一 資源重複定義問題

我的一個工程需要支援一個新的平台,我直接選擇了這個平台,但是,我的一些配置是從另外的之前的平台複制過來的,可能是一些原因,導緻一些選項在這兩個平台之間有些差異。編譯時,出現如下錯誤提示:

1>CVTRES : fatal error CVT1100: duplicate resource.  type:ICON, name:1, language:0x0804

1>LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞

經過調查,發現是多平台資源編譯清單設定的問題。

如下圖,解釋了詳細的過程:

Visual Studio 2008編譯多平台切換時出現的編譯問題解決記錄

設定一下資源的過濾就可以了:

Visual Studio 2008編譯多平台切換時出現的編譯問題解決記錄

第二個 預編譯頭檔案問題

也是選擇平台的問題,選擇後,有些選項并沒有完全複制過來,導緻預編譯頭檔案設定不對。

出現的錯誤如下:

fatal error C1083: Cannot open precompiled header file: 'Debug/<Project-Name>.pch': No such file or directory

隻要按照下圖更改就可以了:

Visual Studio 2008編譯多平台切換時出現的編譯問題解決記錄

後記:其實隻要是正常建立工程而不是複制設定,都不會有問題的!

繼續閱讀