error LNK2019 無法解析的外部符號

2021-04-20 03:47:21 字數 1238 閱讀 2034

無法解析的外部符號「symbol」是指該符號在函式「function」中被引用,在function中找到了未定義的外部符號 (symbol)。

若要解決此錯誤,請提供符號定義或移除引用它的**。

3.對於從早期版本公升級到當前版本的 c++ 專案,如果定義了 __unicode 並且入口點為 winmain,需要將入口點函式的名稱更改為 _twinmain 或 _tmain。

4.符號宣告包含拼寫錯誤,以致於符號宣告與符號定義不同。

5.使用了乙個函式,但其引數的型別或數量與函式定義不匹配。

函式宣告使用和函式定義使用中的呼叫約定(__cdecl、__stdcall 或 __fastcall)不同。

6. 符號定義在編譯為 c 程式的檔案中,而符號是在 c++ 檔案中不帶 extern "c" 修飾符宣告的。在此情況下,請修改宣告,例如不是使用:

extern int i;

extern void g();

而使用:

extern "c" int i;

extern "c" void g();

同樣,如果在將由 c 程式使用的 c++ 檔案中定義符號,請在定義中使用 extern "c"。

7.符號定義為靜態,但稍後在檔案外部被引用。

沒有定義靜態類成員。例如,應單獨定義下面類宣告中的成員變數 si:

#include

struct x ;

// int x::si = 0; // uncomment this line to resolve

void main() 8.

也可能由於為 visual studio .net 2003 進行的一致性工作生成此錯誤:模板友元和專用化。在 visual studio .net 2003 中,必須定義宣告新的非模板函式的友元宣告。

要使**在 visual c++ 的 visual studio .net 2003 和 visual studio .net 版本中均有效,請顯式指定友元函式的模板引數列表。

// lnk2019.cpp

// lnk2019 expected

template

void f(t)

template

struct s

; int main()

/verbose 鏈結器選項幫助您檢視鏈結器引用的檔案。dumpbin 實用工具的 /export 和 /symbols 選項還可以幫助您檢視 dll 和物件/庫檔案中定義的符號。

error LNK2019 無法解析的外部符號

在mfc中編譯時出現了以下錯誤 提示為error lnk2019 無法解析的外部符號 wchar t stdcall com util convertstringtobstr char const 1。我先介紹一下,vs編譯器中的乙個選項 zc wchar t wchar t 是本機型別 在vc6。...

error LNK2019 無法解析的外部符號

osprocessdlg.obj error lnk2019 無法解析的外部符號 public struct pcb thiscall clinkqueue initialpcb class atl cstringt int,int initialpcb clinkqueue qaepaupcb v...

error LNK2019 無法解析的外部符號

vc6 工程 設定 c c 分類 preprocessor 附加包含路徑 填寫附加標頭檔案所在目錄 逗號間隔多項 工程 設定 link 分類 input 附加庫路徑 填寫附加依賴庫所在目錄 分號間隔多項 工程 設定 link 分類 input 物件 庫模組 填寫附加依賴庫的名字.lib 空格間隔多項...