1. Qt+VS程序運行錯誤問題
我猜你一定是拷貝的別人的工程。
最有可能就是 自定義生成工具里的QT生成工具是寫死的。
右鍵單擊ui文件,打開屬性 找到自定義生成工具-》常規-》命令行看看是否uic.exe是否在有小文件夾下。
自定義生成工具-》常規-》附加依賴項里的uic.exe 的路徑是否正確。
VS告訴你不在文件夾下,那麼最有可能該文件沒有生成。
2. vs編譯報創建子進程出錯
問題處理:
選中當前工程->屬性->C/C++->常規->附加包含目錄->$(QTDIR)\include\QtANGLE。
問題現象:
error LNK1117: 選項「SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@」中的語法錯誤 E:\Test-Project\EDC_Qt\EDCUIPro\LINK EDCUIPro
問題處理:
選中當前工程->屬性->C/C++->鏈接器->命令行,刪除其他選項 /SUBSYSTEM:WINDOWS%40QMAKE_SUBSYSTEM_SUFFIX%40
問題現象:
error LNK1112: 模塊計算機類型「X86」與目標計算機類型「侍返x64」沖突
問題處理:
當前工程->屬性->平台->配置管理
問題現象:
error C2143: 語法錯誤 : 缺少「;」(在「*」的前面)
問題處理:
將報錯的那一行放到.cpp中定義,並初始化
問題現象:
error LNK2005: DllMain 已經在 dllmain.obj 中定義
問題處理:
一個項目裡面出來了兩個入口,這肯定是不允許的。刪掉預處理器_USRDLL。
問題現象:
error LNK1561: 必須定義入口點 E:\EDCProj\VAT_EDCDll\LINK VAT_EDCDll
問題處理:
項目屬性->項目默認值->配置類型,把.exe 改成 .Dll
問題現象:
無法找到 xx.exe調試信息
問題處理:
項目屬性->鏈接器->調試->生成調試信息,選擇「是(/DEBUG)」。注意:(.exe和.Dll)都要設置
問題現象:
error C2143: 語法錯誤 : 缺少「;」(在「*」的前面)
error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int
問題處理:
頭文件中加引用類的聲明
問題現象:
error LNK2001: 無法解析的外部符號 __imp___CrtDbgReportW
問題處理:
像這種情況,可以推測運用了錯誤的運行庫包。
在一程序中使用不同類型的運行時庫或使用調試和非調試版本的運行時庫,則將收到此鏈接錯誤。
例如,編譯一個文件以使用一種運行時庫,而編譯另一個文件以使用另一種運行時庫(例如單線程運行時庫對多線程運行時庫),試圖鏈接它們,則將得到此警告。應將所有源文件編譯為使用同一運行時庫。
在「配置屬性-->C/C++-->代碼生成-->運行鬧談液時庫」中將「多線程(/MT)或者(/MD)」統一改為「多線程調試液物(/MTd)」
3. vs2013運行出現問題,編譯不了,提示fatal error C1069: 無法讀取編譯器命令行
文件路徑中含有中文且系統語言設置了使用 UTF-8 則可能出現此問題。