首页 > Windows开发 > 详细

LIBNIDS Windows下编译错误解决方案

时间:2014-03-18 12:23:53      阅读:661      评论:0      收藏:0      [点我收藏+]

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下编译错误解决方案

原文:http://www.cnblogs.com/feihuaxx/p/3604727.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!