1. 程式人生 > >error LNK2019,error LNK2001:無法解析的外部符號

error LNK2019,error LNK2001:無法解析的外部符號

環境:win7 ,vs2010

目的:安裝protobuf

問題:

    test.pb.obj : error LNK2019: 無法解析的外部符號 "public: virtual __thiscall google::protobuf::MessageLite::~MessageLite(void)" ([email protected]@[email protected]@[email protected]),該符號在函式 [email protected]@@[email protected]$0 中被引用
1>test.pb.obj : error LNK2001: 無法解析的外部符號 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall google::protobuf::MessageLite::InitializationErrorString(void)const " (

[email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@XZ)

分析原因:

     lib 庫沒有載入,或者路徑不對

解決辦法:

1.用程式碼 :#pragma comment(lib,"libprotobuf.lib") 

                #pragma comment(lib,"libprotoc.lib")

2.右鍵->屬性->聯結器->輸入->附加依賴項  新增libprotobuf.lib,libprotoc.lib

倆種方法都是一樣的,都是在工程裡面新增靜態庫。 

擴充套件:

#pragma是一個很常用的關鍵字。

#pragma pack(n) 以n個位元組對齊(struct 存在對齊補齊)。最常用的場合應該是網路處理。n 大於結構體補齊的位元組時候,按照結構體補齊的位元組對齊,反之則按照n位元組對齊。

#pragma pop 取消n位元組對齊。

相關推薦

c++連接mysql數據庫出現無法解析外部符號的問題

vs、解析外部符號include,lib文件夾都已經拷到了項目根目錄,並且設置好了路徑,生成就會出現無法解析的外部符號,提示我無法轉到函數的定義,最後發現vs2017默認win32,但是我的程序集64位的。更改後,重新設置目錄,路徑即可。c++連接mysql數據庫出現無法解析外部符號的問題

error2019無法解析外部符號

“error LNK2019: 無法解析的外部符號 error LNK2001: 無法解析的外部符號“private: static struct _OVERLAPPED CUsbCom::g_WriteOverlapped” 應該是工程設定的問題 沒有連線相應

VS2015無法解析外部符號

在使用VS編輯C++時,遇到了無法解析外部符號的錯誤 嚴重性程式碼說明專案 檔案行 錯誤LNK2019 無法解析的外部符號 "public: __thiscall Employee::Employe

OpenCv在win下靜態庫的編譯和使用,以及部分無法解析外部符號的錯誤解決

這裡演示的是opencv3.4版本的編譯和使用過程。1、靜態庫編譯CMake進行配置,編譯時我選擇build目錄為build-static。其中需要設定選擇安裝目錄,設定   “CMAKE_INSTALL_PREFIX”  為   /build-static/install 

error LNK2019,error LNK2001:無法解析外部符號

環境:win7 ,vs2010 目的:安裝protobuf 問題:     test.pb.obj : error LNK2019: 無法解析的外部符號 "public: virtual __thiscall google::protobuf::MessageLite::~

error LNK2019: 無法解析外部符號;fatal error LNK1120: 1 個無法解析外部命令; 可能存在的問題

alt 配置 pan ron ima detail deb 16px 管理 一、問題:使用一個.lib出現如下錯誤 (我使用的環境 vs2012)   error LNK2019: 無法解析的外部符號 _SSL_CTX_new,該符號在函數 _main 中被引用;   fa

Error LNK2001 無法解析外部符號 的幾種情況及解決

VC++時經常會遇到連結錯誤LNK2001,該錯誤非常討厭,因為對於程式設計者來說,最好改的錯誤莫過於編譯錯誤,而一般說來發生連線錯誤時,編譯都已通過。產生連線錯誤的原因非常多,尤其LNK2001錯誤,常常使人不明其所以然。如果不深入地學習和理解VC++,要想改正連線錯誤LNK2001非常困難。 &

"error LNK2001: 無法解析外部符號 _sscanf " 問題 解決方法

問題場景: 使用VS2015的軟體開發環境中,在引用第三方檔案庫時,出現了 “libx264.a(ratecontrol.o) : error LNK2019: 無法解析的外部符號 _sscanf,該符號在函式 _x264_ratecontrol_new 中被引用” 等錯誤

C++工程編譯之“error LNK2001: 無法解析外部符號

今天一整天都在折騰“error LNK2001: 無法解析的外部符號”,就在頭疼不已的時候,總算是找到問題原因了:各個動態連結庫的編譯方式必須統一才行,要不然很容易對庫函式的引用產生衝突。簡單來說就是,如果使用的第三方函式庫編譯方式採用/MD,那麼主工程也應該

error LNK2001: 無法解析外部符號 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject

其原因是系統無法訪問到Moc檔案。解決方案如下: 專案–>右鍵點選–>Qt Project Settings 檢查你的 MocDirectory 其值是否是 .\Generat

VS2013執行錯誤:error LNK2001: 無法解析外部符號

1>Goods.obj: error LNK2001:無法解析的外部符號 "int (* arr)[20]" ([email protected]@[email protected]) 1>Connect.obj: error LNK2001

error LNK2001: 無法解析外部符號 fatal error LNK1120: 1 個無法解析外部命令(呼叫約定的問題)

問題背景: 我在用MFC寫的一個單文件的程式呼叫以MFC通過.def模組匯出的DLL時出現瞭如下錯誤  error LNK2001: 無法解析的外部符號 "unsigned short __cdecl SearchCtrl(struct tagPARAMS &,sh

ogre-procedural library building error LNK2001: 無法解析外部符號

在編譯ogre-procedural的lib時出現了很多錯誤,修改之後沒有報錯了 但是又出現如下問題:1>     正在建立庫 D:\Ogre\OgreAddOn\ogre-procedural\lib\Debug\OgreProcedural_d.lib 和物件 D:

Visual Studio Error LNK2001 無法解析外部符號 的幾種情況

        VC++時經常會遇到連結錯誤LNK2001,該錯誤非常討厭,因為對於程式設計者來說,最好改的錯誤莫過於編譯錯誤,而一般說來發生連線錯誤時,編譯都已通過。產生連線錯誤的原因非常多,尤其LNK2001錯誤,常常使人不明其所以然。如果不深入地學習和理解VC+

vc2008 錯誤:error LNK2001: 無法解析外部符號之一

error LNK2001: 無法解析的外部符號   "protected: virtual struct AFX_MSGMAP const * __thiscall ****::GetMessageMap(void)const " ([email protect

error lnk2001無法解析外部符號_main 無法解析外部符號[email 

這個問題表明你新建的是一個main型別函式(控制檯程式),而你的程式中有視窗程式,顯然是個win32函式,解決方法:專案-屬性-連結器-系統-子系統-把控制檯該為windows剛學WinAPI編譯遇到不少問題,LNK2019: 無法解析的外部符號 _main,該符號在函式 ___tmainCRTStartup

關於 error LNK2001: 無法解析外部符號 ___wargv問題

筆者用VS2010生成64位的MFC應用程式時發現,輸出中提示 1> uafxcwd.lib(appcore.obj) : error LNK2001: 無法解析的外部符號 ___wargv1>uafxcwd.lib(appcore.obj) : error L

error LNK2001: 無法解析外部符號 "public: void __thiscall Cmfc_DeleteFileDlg::OnBnClickedButton3(void)"

連結錯誤:出現這個2001錯誤,是因為連結失敗,然而連結失敗,又是因為以下原因:  1.你在標頭檔案中聲明瞭函式,但是cpp檔案缺少了函式實現部分。  2.忘了將這個.h,.cpp Add to project;  3.以上兩種情況都沒有做,沒有將它對應的lib檔案新增到

VS error LNK2001無法解析外部符號_CrtDbgReportW

本文提供的只是可能的一種解決方案,一種解決這個錯誤的思路,並不一定符合所有情況。 最近經常遇到這個錯誤,總是在解決後忘記怎麼解決的,下次又花費很多時間去找原因。今天,做個筆記,嗯。 首先,列出原因: 其次,給出解決方法: 這是解決前問題根源:

編譯Qt時遇到”error LNK2001: 無法解析外部符號

解決辦法:執行QT的命令列工具 From a command prompt, change the directory to hello, and typeqmake -project to create a platform-independent project fil