2011-08-02 41 views
0

我想在C++程序中使用libpcap库。如何解决错误“未定义的引用`pcap_parse'”

我已经下载libpcap-1.0.0.tgz,untared,然后

./configer 
make 
make install 

我有libpcap.aheaders我吧,我已经写了一个示例程序来测试它。但它给我的编译器错误如下:

/usr/local/lib/libpcap.a(gencode.o): In function `.L151': 
gencode.c:(.text+0x7f4): undefined reference to `pcap_parse' 
collect2: ld returned 1 exit status 

我编译使用下面的命令此程序:

g++ -o test test.cpp -lpcap 

难道我做错了什么建设libpcapheaders

+0

命令'nm -a /usr/local/lib/libpcap.a | egrep parse'打印? – 2014-02-13 20:14:12

回答

1

我敢肯定你需要传递-lpcaptest.cpp

+0

不,库名在*源文件名之后就是*之类的命令。 – 2014-02-13 20:10:30

0

你必须使用此命令(sudo易于得到安装的libpcap-dev的),如果它不工作,安装柔性太(安装Libpcap库-devel的命令和apt-get安装野牛)

好运

+0

不,他正在自己下载和构建libpcap,而不是使用打包版本(并且他没有表明他正在运行Debian衍生版,所以不能保证他甚至* *已经* apt-get!),所以这不是问题。 – 2014-02-13 20:11:49

+0

只有当您打算编译libpcap时才需要Flex和Bison,而不是如果您只是要使用它,并且在程序中没有Flex扫描器或Bison解析器。他正在编译libpcap,但他成功地这样做了,因此大概已经安装了lex或Flex,并安装了yacc或byacc或Bison。 – 2014-02-13 20:13:17

0

尝试安装的libstdC++ - 4.8-dev的 - 这个工作对我来说,当我有类似的问题。

相关问题