1.??????
error LNK2019:
無法解析的外部符號 _inet_ntoa@4 ,該符號在函數 _adres 中被引用
需要加入
ws2_32.lib
2.??????
error LNK2019:
無法解析的外部符號 "int __cdecl nids_init(void)" (?nids_init@@YAHXZ) ,該符號在函數 _main 中被引用
改寫
nids.h
在函數前加入
#ifdef __cplusplus
extern "C"
{
#endif
在函數后加入
#ifdef __cplusplus
}
#endif
3.????????
libnids.lib(libnids.obj) : error LNK2019:
無法解析的外部符號
_pcap_datalink
,該符號在函數
_nids_init
中被引用。。。。。。。。。。。。
需要加入
wpcap.lib
4.????????
LIBCMT.lib(close.obj) : error LNK2005: __close
已經在
LIBCD.lib(close.obj)
中定義。。。。。。。。。
解決方案屬性
-
〉鏈接器
-
〉輸入
-
〉忽略指定庫
LIBCMT.lib
而不是
LIBCD.lib
Libcd.lib
為
DEBUG
版本
libc.lib
為
Release
版本得
?
5.???????
error LNK2019:
無法解析的外部符號 _nids_run ,該符號在函數 _main 中被引用
需要加入
libnids.lib
6.????????
error LNK2001:
無法解析的外部符號 "char * nids_errbuf" (?nids_errbuf@@3PADA)
僅出現此錯誤的時候參考一下內容
C
++
的全局常量只有靜態連接性能。這不同于
C
,如果試圖在
C
++的多個文件內使用全局變量也會產生
LNK2001
錯誤。
l????????
一種解決的方法是需要時在頭文件中加入該常量的初始化代碼,并在
.CPP
文件中包含該頭文件;
l????????
另一種方法是使用時給該變量賦以常數。
改寫
nids.h
extern char nids_errbuf[]="";
7.????????
error LNK2001:
無法解析的外部符號 "struct nids_prm nids_params" (?nids_params@@3Unids_prm@@A)
需要在源碼文件中加入
struct nids_prm nids_params;
?
?
總結如下
:
在代碼中加入
#pragma
comment(lib,"
ws2_32
")
#pragma
comment(lib,"
libnids
")
#pragma
comment(lib,"
wpcap
")
?
屬性->連接器->命令行
加入
ws2_32.lib libnids.lib wpcap.lib /verbose:lib /NODEFAULTLIB:libcpd.lib /NODEFAULTLIB:LIBCMT.lib