我在建立Cppcheck GUI時遇到了錯誤的Qt,錯誤的MinGW,錯誤的QtCore4.dll路徑的一些問題,但最終成爲一個可執行文件,它只是在運行時崩潰。新建Cppcheck-gui簡單崩潰
拆卸的問題點是這樣的:
mov eax,12Fh
xor ecx,ecx
lea edx,[esp+4]
call dword ptr fs:[0C0h]
add esp,4
ret 0Ch
好像它試圖調用一些靜態鏈接的崩潰。還有一件事對我來說很奇怪:可執行文件大約是30 Mb,而我從下載的.msi安裝的版本中的可執行文件大小爲500 Kb。它只是被錯誤地構建而已。
我使用來自Github,Qt 4.8.5(mingw版本)的最新源代碼,儘管我從Qt 5.1.1中獲得了MinGW本身。如果重要的話,整個事情都在Windows中進行。我只是運行「build.bat all debug」 - 就是這樣。那麼,這次我做錯了什麼?
Qt擁有2種類型的文庫:釋放(QtCore4.dll)和調試(QtCored4.dll)的.debug與在端 'd' 前綴幷包含在themselv中es調試符號,所以它顯着更大。所以如果你使用qt的調試庫來構建gui,大小並不奇怪(儘管我想知道爲什麼?)關於靜態構建 - 如果你想從qt創建靜態可執行文件,你必須使用靜態配置和構建qt本身這種情況看起來像cppcheck想要構建靜態exe文件,而您的qt是使用動態鏈接構建的。不過,我可能是錯的。請詳細瞭解您的qt或cppcheck的構建 – Shf