vs2008 error LNK2019: 无法解析的外部符号总结
做DLL的時候一直把報錯“錯誤?? ?1?? ?error LNK2019: 無法解析的外部符號 "void __cdecl sevenaxes20170316(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double *,double *,double *,double *,double *,double *,double *)" (?sevenaxes20170316@@YAXNNNNNNNNNNNNNNNNNNNPAN000000@Z),該符號在函數 "void __cdecl sevenaxes_inverse(struct joint,struct position,struct joint)" (?sevenaxes_inverse@@YAXUjoint@@Uposition@@0@Z) 中被引用?? ?qqqq.obj?? ?inverse1”這樣子,后面看了很多人都說可能是沒添加DLL、lib文件之類的,當時我就納悶了,我明明是做dll還添加啥啊,為啥一直識別不了,而且測試的時候用.C文件也是OK的,所以沒想那么多,后面看了一些評論,后面才找到這個文章,在使用vs2008調試程序的過程中,經常會出現無法解析的外部符號問題后面才看到一個說“可能需要包含被測類的cpp定義文件”,我就把文件后綴給改成.cpp,然后就好了。
函數的參數太多,用結構體來弄,用結構體看起來結果比較清晰,而且好賦值
還有就是傳參的問題
下面就是人家的總結,好用,記錄下來
==》
在使用vs2008調試程序的過程中,經常會出現無法解析的外部符號問題,可能的原因有很多種,下面這些是我一年來積累的經驗.
僅供參考.
?
考慮可能的原因:
[0]出現無法解析可能是因為lib文件不正確,比如64位的編譯配置,結果使用的是32位的lib包.
[1]只寫了類聲明,但還沒有寫實現類,造成調用時無法解析
[2]聲明和定義沒有統一,造成鏈接不一致,無法解析
[3]沒有在項目屬性頁的鏈接器的命令行選項加入相應的類包。
[4]沒有在c++包含目錄和庫目錄加入相應的類包路徑
[5]在測試工程中被測文件目錄可能需要包含被測類的cpp定義文件
[6]ICE接口測試時,無法解析可能因為被測文件沒有包含進相關的cpp文件,另外,在TestSuite_ProjectRun.h文件中需要包含IProjectRun.h頭文件,及相關的頭文件(舉例)。
[7]import相關的無法解析內容,解決辦法是在鏈接器的依賴項中加入相應的動態庫
[8]出現如下錯誤的原因一般是動態庫沒有包進來。__imp
ProjectRun.obj : error LNK2019: 無法解析的外部符號 __imp__StartHistoryLocalModule,該符號在函數 "protected: virtual int __thiscall HiRTDB::CProjectRun::DoStart(void)" (?DoStart@CProjectRun@HiRTDB@@MAEHXZ) 中被引用
[9]error LNK2001: 無法解析的外部符號 __imp___CrtDbgReportW
工程屬性,C/C++,代碼生成,運行時庫選擇MDd,
[9]無法解析的外部符號"__declspec(dllimport) public: int __thiscall HiRTDB::CTagTree::GetObjectA(int,struct HiRTDB::SBaseReadProps const &,struct HiRTDB::SBaseReadValues &)" (__imp_?GetObjectA@CTagTree@HiRTDB@@QAEHHABUSBaseReadProps@2@AAUSBaseReadValues@2@@Z),該符號在函數"public: int __thiscall HiRTDB::CStringImpl::Get(int,struct HiRTDB::SStringReadProps const &,struct HiRTDB::SStringReadValues &)" (?Get@CStringImpl@HiRTDB@@QAEHHABUSStringReadProps@2@AAUSStringReadValues@2@@Z) 中被引用
原因可能是工程配置文件中有多余選項,請參考其他模塊的配置選項,不要有多余配置。
來自 <http://blog.csdn.net/enotswn/article/details/5934938>
轉載于:https://www.cnblogs.com/Ich-Sun/p/6593602.html
總結
以上是生活随笔為你收集整理的vs2008 error LNK2019: 无法解析的外部符号总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC 课纲
- 下一篇: 查找文件命令find总结以及查找大文件