天天看點

更新VS+Qt項目(從VS2010+Qt5.4.0到VS2012+Qt5.2.1)

總結一下拿到的VS2010+Qt5.4.0項目,重新編譯成VS2012+Qt5.2.1:

拿到項目之後,

1. 是要更新編譯器和庫,用VS2012打開sln,點“更新”。更新後,vs會自動将平台工具集更改為“v110”(之前為“v100”)。

2. 在Qt Option中重新選擇設定Qt版本。并将所需要的項目轉換長Qt Add-in project,在Qt Project Setting/Qt Modules中勾選上所需要的子產品,比如用了網絡,則要勾選上Network

更新VS+Qt項目(從VS2010+Qt5.4.0到VS2012+Qt5.2.1)
更新VS+Qt項目(從VS2010+Qt5.4.0到VS2012+Qt5.2.1)

3. 檢查項目屬性--VC++目錄--包含目錄 下 是否都改成了目前選擇的QT版本。我的sln下有2個項目,當時是改了一個項目的目錄,另一個沒改,導緻編譯時候始終提示Qt相關的頭檔案找不到引用路徑(報錯:fatal error C1083: 無法打開包括檔案:“QtCore/QString”: No such file or directory)

更新VS+Qt項目(從VS2010+Qt5.4.0到VS2012+Qt5.2.1)

4. 檢查項目屬性--C/C++--正常下各種附加包含目錄 是否包含了所需的目錄。

5. 檢查項目屬性--連結器--附加庫目錄中是否包含了所需的依賴庫目錄

6. 檢查項目屬性--連結器--輸入中的附加依賴項是否正确

以上三項有不對的都會導緻報錯:LINK : fatal error LNK1104: 無法打開檔案“\.obj”

在項目更新時,發現附加依賴項被預設修改成這樣,

更新VS+Qt項目(從VS2010+Qt5.4.0到VS2012+Qt5.2.1)

這肯定是不對的。應該改成:

更新VS+Qt項目(從VS2010+Qt5.4.0到VS2012+Qt5.2.1)

電腦裡面沒有:C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.0A\Lib\setupapi.lib。的根據實際情況修改:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\SetupAPI.Lib

總結:

其實過程很簡單,修改Qt版本,以及各種依賴庫路徑。但是有路徑或者版本不對的地方,就會導緻各種link錯誤。