LNK2001 無法解析的外部符號 __imp__CameraCreateSettingPage@24


用VS2017,Release X86進行編譯時顯示如下錯誤:

 

1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 __imp__CameraGetImageBuffer@16
1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 __imp__CameraImageProcess@16
1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 __imp__CameraImageOverlay@12
1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 __imp__CameraDisplayRGB24@12
1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 __imp__CameraReleaseImageBuffer@8
1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 _GT_GetSts@16
1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 _GT_Stop@8
1>CWDMDlg.obj : error LNK2001: 無法解析的外部符號 _GT_GetPrfPos@16

......

翻譯為英文為:error LNK2001: unresolved external symbol __imp__CameraGetImageBuffer@16(方便google

最近在看《調試九法:軟硬件錯誤的排查之道》,決定按照里面學到的知識來解決上述問題。

1)理解系統。這兩部分錯誤分別與相機和電機有關。除了代碼本身,就是庫文件,找到這兩個對應的庫文件。了解一下dll和lib文件的一些特性。

根據 lib和dll的區別、生成以及使用詳解   中調用動態庫和靜態庫的方法,把相機和電機的動態庫和靜態庫添加到對應的位置。

之后,關於“error LNK2001: 無法解析的外部符號 _GT_XXX”的錯誤就消失了,還剩下相機的錯誤,發現Libray文件夾下有MVCAMSDK_X64.lib,在頭文件中添加如下語句:

#ifdef _WIN64
#pragma comment(lib,".\\Library\\MVCAMSDK_X64.lib")
#else
#pragma comment(lib,".\\Library\\MVCAMSDK.lib")
#endif // _WIN64X

用Debug  X64 編譯通過。問題解決。

 

 


免責聲明!

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



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