無法解析的外部符號
根據個人遇到這個錯誤時的記錄,原因可以分為一下幾種:
原因一: 只是在.h裡面宣告瞭某個方法, 沒有在cpp裡面實現 。
具體講,有時候在標頭檔案中宣告瞭需要的方法,確實忘記了在原始檔中實現;
有時候在標頭檔案中宣告瞭需要的方法,在原始檔中實現了該方法,但是卻遺留了方法名前的“classname::”;
有時候在標頭檔案中宣告並實現了需要的方法,但是在程式碼調整時直接把方法copy到原始檔時,並沒有在函式前加“classname::”;
原因二: 宣告和實現都有了,但是 沒有新增到vs的project 目錄下面,這時候如果在其他.cpp中引用的,就會出現這個錯誤。
具體講,匯入自己以前的程式碼或其他現有程式碼時,複製到工程下目標資料夾後,有時候會在vs的project目錄下忘記或遺漏新增這些檔案,就可能引起這個錯誤。
原因三: 有時候工程比較大時,會直接加入一些原有的基礎工程來提交效率,如果對原有工程不太熟悉,在工程中加入了有 相同名字的檔案或者類 時,同樣會引起這個問題。
這種情況下的具體原因是編譯時會出現相同名字的中間檔案,因為編譯有先後順序,出現了檔案替換,在其他檔案引用被替換掉的檔案時,導致最後會出現了個連線問題。
原因四: 行內函數 相關,如果行內函數的宣告在標頭檔案中,實現在原始檔中,這時候如果其他類中只是包含了標頭檔案,在呼叫這個行內函數時也會出現這個問題。
原因一: 只是在.h裡面宣告瞭某個方法, 沒有在cpp裡面實現 。
具體講,有時候在標頭檔案中宣告瞭需要的方法,確實忘記了在原始檔中實現;
有時候在標頭檔案中宣告瞭需要的方法,在原始檔中實現了該方法,但是卻遺留了方法名前的“classname::”;
有時候在標頭檔案中宣告並實現了需要的方法,但是在程式碼調整時直接把方法copy到原始檔時,並沒有在函式前加“classname::”;
原因二: 宣告和實現都有了,但是 沒有新增到vs的project 目錄下面,這時候如果在其他.cpp中引用的,就會出現這個錯誤。
具體講,匯入自己以前的程式碼或其他現有程式碼時,複製到工程下目標資料夾後,有時候會在vs的project目錄下忘記或遺漏新增這些檔案,就可能引起這個錯誤。
原因三: 有時候工程比較大時,會直接加入一些原有的基礎工程來提交效率,如果對原有工程不太熟悉,在工程中加入了有 相同名字的檔案或者類 時,同樣會引起這個問題。
這種情況下的具體原因是編譯時會出現相同名字的中間檔案,因為編譯有先後順序,出現了檔案替換,在其他檔案引用被替換掉的檔案時,導致最後會出現了個連線問題。
原因四: 行內函數 相關,如果行內函數的宣告在標頭檔案中,實現在原始檔中,這時候如果其他類中只是包含了標頭檔案,在呼叫這個行內函數時也會出現這個問題。
相關文章
- 關於VS報無法解析外部符號的錯誤符號
- VS2017無法解析得外部符號符號
- error LNK2019: 無法解析的外部符號 __imp___CrtDbgReportWError符號
- QT 自定義外掛問題 error: LNK2001: 無法解析的外部符號QTError符號
- 錯誤 1 error LNK2019: 無法解析的外部符號 _WinMain@16,該符號在函式 ___tmainCRTStartup 中被引用Error符號AI函式
- BOOST應用 無法解析的外部符號 "void __cdecl boost::throw_exception(class std::exception const &)"符號Exception
- java基本無法-識別符號Java符號
- 無符號數相減得到的是無符號還是有符號?符號
- 錯誤 1 error LNK2019: 無法解析的外部符號 "public: __thiscall Distance::Distance(int)" (??0Distance@@QAE@H@Z),該符...Error符號
- IDEA出現Cannot resolve symbol “xxx”(無法解析符號)IdeaSymbol符號
- Oralce ORA-12154 無法解析指定的連線識別符號符號
- ORA-12154:TNS:無法解析指定的連線識別符號符號
- C++ VS單例模式報 錯誤 LNK2001 無法解析的外部符號 private: static class SingletonPattern錯誤C++單例模式符號
- c++基礎知識(九)連線時出現錯誤 error LNK2001: 無法解析的外部符號(轉)C++Error符號
- 關於有符號與無符號的位元組符號
- [C]有符號數和無符號數符號
- error C4996: 'std::_Uninitialized_copy0':與錯誤 LNK2001 無法解析的外部符號 "private: static class std::allocatorError996Zed符號
- C++與Rust引用外部符號的比較C++Rust符號
- rman中的ORA-12154: TNS: 無法解析指定的連線識別符號符號
- 不應該出現的 ora 12514:無法解析指定的連線識別符號符號
- ORA-12154: TNS: 無法解析指定的連線識別符號 的另類原因符號
- SVN常見符號解析符號
- dubbo註冊中心佔位符無法解析問題
- markdown特殊符號語法符號
- Word如何開啟講義無法顯示的數學符號符號
- dubbo註冊中心佔位符無法解析問題(二)
- C語言之有符號無符號整數取值範圍C語言符號
- oracle database link 報錯ORA-12154: TNS: 無法解析指定的連線識別符號OracleDatabase符號
- 趣探 Mach-O:符號解析Mac符號
- 在cocos2dx2.2.3中遇到的error LNK2019: 無法解析的外部符號 _libiconv_closexxxxxxx的解決辦法Error符號
- 英語中各種符號的讀法符號
- 單位符號的英語說法 -引用符號
- C語言系列(二)有符號數和無符號數詳解C語言符號
- JavaScript 32位整型無符號操作JavaScript符號
- WIN8 64位作業系統 ORA-12154 TNS無法解析指定的連線識別符號作業系統符號
- JavaScript >>> 三個大於號無符號右移運算子JavaScript符號
- C++中實現無符號右移C++符號
- Mybatis xml特殊符號轉義寫法MyBatisXML符號