在 Ubuntu-9.10 上安装 libnet-0.10.11 时遇到问题
这就是我所做的...... #tar -xzvf libnet-0.10.11.tar.gz #cd libnet
然后我将linux.mak文件复制到父目录中的port.mak文件中。 然后,正如文档所说,我在当前目录中使用了 make...
naman@naman-laptop:~/Desktop/Software/libnet$ make
make -C lib/ lib
make[1]: Entering directory `/home/naman/Desktop/Software/libnet/lib'
gcc -O2 -Wall -Werror -Wno-unused -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g -I../include -Iinclude -DTARGET_LINUX -c -o core/config.o core/config.c
cc1: warnings being treated as errors
core/config.c: In function ‘__libnet_internal__seek_section’:
core/config.c:87: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
core/config.c: In function ‘__libnet_internal__get_setting’:
core/config.c:111: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
make[1]: *** [core/config.o] Error 1
make[1]: Leaving directory `/home/naman/Desktop/Software/libnet/lib'
make: *** [lib] Error 2
任何人都可以向我详细解释该错误以及如何纠正它吗?任何帮助将不胜感激。
Here's what I did...
#tar -xzvf libnet-0.10.11.tar.gz
#cd libnet
Then I copied the linux.mak file to the port.mak file in the parent directory.
Then, as the documentation says, I used make in the present directory...
naman@naman-laptop:~/Desktop/Software/libnet$ make
make -C lib/ lib
make[1]: Entering directory `/home/naman/Desktop/Software/libnet/lib'
gcc -O2 -Wall -Werror -Wno-unused -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g -I../include -Iinclude -DTARGET_LINUX -c -o core/config.o core/config.c
cc1: warnings being treated as errors
core/config.c: In function ‘__libnet_internal__seek_section’:
core/config.c:87: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
core/config.c: In function ‘__libnet_internal__get_setting’:
core/config.c:111: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
make[1]: *** [core/config.o] Error 1
make[1]: Leaving directory `/home/naman/Desktop/Software/libnet/lib'
make: *** [lib] Error 2
Can anyone please explain the error to me in detail, and how to rectify it? Any help would be much appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
https://github.com/sam-github/libnet,这是一个古老的libnet版本,现代的都用autoconf,有必要用这么老的吗?
我建议从您正在使用的 makefile 中删除
-Wall
和-Werror
。https://github.com/sam-github/libnet, that is an ancient libnet version, modern one uses autoconf, do you need to use such an old one?
I'd suggest removing both
-Wall
and-Werror
from the makefile you are using.看起来您正在尝试在较新的系统上编译较旧的库,并且自编写该库以来,
gcc
中已添加新警告。由于 Makefile 将警告视为错误,(您可以看出,因为它打印了
cc1:警告被视为错误
)警告warn_unused_result
错误导致编译失败。您的选择是:
-Werror
参数It looks like you are trying to compile an older library on a newer system, and new warnings have been added to
gcc
since this library was written.Since the Makefile has warnings treated as errors, (you can tell because it printed
cc1: warnings being treated as errors
) the warningwarn_unused_result
errors are causing the compile to fail.Your options are to either:
-Werror
parameter(s)