LIBNIDS Windows下编译错误解决方案

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;

LIBNIDS Windows下编译错误解决方案,布布扣,bubuko.com

LIBNIDS Windows下编译错误解决方案

上一篇:已知第几周 获取此周的日期


下一篇:【php增删改查实例】第十二节 - 数据删除功能