Qt探索之路——Error LNK2019


在編譯工程的時候經常會碰到 " LNK2019:無法解析的外部符號... " 的報錯。一般來說,碰到這個錯誤有一下幾種情況:

1、頭文件中聲明了函數或者類型,但是沒有相關的實現源文件

解決:在編譯結果中找到並定位該函數,刪去多余的定義並對未實現的定義進行實現;注意刪去Debug和Release文件夾,並重新構建。

2、調用了第三方庫,但是未鏈接成功

解決:重新添加庫的.lib和.dll及相關.h文件,刪除Debug和Release文件夾並重新構建。

================================================================================

PS:

我在調用HIDAPI的項目中,卸載重裝VS后遇到LNK2019 error,但是以上方法都不起作用。最后解決問題頗費波折:

①首先刪去Debug和Release文件夾,並重新構建,無效;

②重新載入.lib和.dll及.h,重新構建,無效;

③重新編譯第三方庫,注意平台對應(Qt 用msvc2015_x86,則VS2015編譯平台選擇Win32;Qt 用msvc2015_x64,則VS2015編譯平台選擇x64),無效;

④重裝Qt、Visual Studio,無效;

⑤刪除Qt緩存,包括:

  C:\Users\jiche\AppData\Local\QtProject

  C:\Users\jiche\AppData\Roaming\QtProject

最終解決問題。分析原因可能是之前工程鏈接庫文件出錯,但是配置已經記錄到工程配置文件和Qt緩存中,即使重裝Qt,緩存文件還在。因此只有清楚了Qt的緩存才能奏效。

 

Qt重新構建的文件殘留問題無力吐槽~只能說習慣就好~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM