類似這樣的乙個例子,三個檔案:
1、add.h
#ifndef hello_h
#define hello_h
#include
#include
intget
(int a,
int b)
;#endif
2、add.c
#include
"add.h"
intget
(int a,
int b)
3、main.cpp
#include
"add.h"
intmain()
碰見這樣乙個錯誤:
1>main.cpp
1>main.obj : error lnk2019: 無法解析的外部符號 "int __cdecl get(int,int)" (?get@@yahhh@z),該符號在函式 _main 中被引用
********** 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 **********
眼神好的朋友可能已經發現了,就是因為main.cpp
,改為main.c
就ok。
關於無法解析外部符號的錯誤
無法解析外部符號,表面意思還是比較清楚的。但當出了問題的時候呢,就不太好解決了。最常出現問題的原因 1.沒有包含標頭檔案 2.沒有包含庫檔案 3.靜態成員變數沒有在類外定義 這裡,我主要想說的是類中靜態成員變數的問題。為啥我們沒有在類外定義靜態成員變數就會報這種錯誤呢。分析一下編譯器對靜態成員變數的...
error LNK2019 無法解析的外部符號
在mfc中編譯時出現了以下錯誤 提示為error lnk2019 無法解析的外部符號 wchar t stdcall com util convertstringtobstr char const 1。我先介紹一下,vs編譯器中的乙個選項 zc wchar t wchar t 是本機型別 在vc6。...
error LNK2001 無法解析的外部符號
vc 時經常會遇到鏈結錯誤lnk2001,該錯誤非常討厭,因為對於程式設計者來說,最好改的錯誤莫過於編譯錯誤,而一般說來發生連線錯誤時,編譯都已通過。產生連線錯誤的原因非常多,尤其lnk2001錯誤,常常使人不明其所以然。如果不深入地學習和理解vc 要想改正連線錯誤lnk2001非常困難。初學者在學...