在Ubuntu-9.10上安装libnet-0.10.11时出现问题
这就是我所做的。。。 #tar-xzvf libnet-0.10.11.tar.gz #光盘库 然后我将linux.mak文件复制到父目录中的port.mak文件。 然后,如文档所述,我在当前目录中使用make在Ubuntu-9.10上安装libnet-0.10.11时出现问题,ubuntu,libnet,Ubuntu,Libnet,这就是我所做的。。。 #tar-xzvf libnet-0.10.11.tar.gz #光盘库 然后我将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 -O
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
谁能给我详细解释一下错误,以及如何纠正它?任何帮助都将不胜感激 看起来您正在尝试在较新的系统上编译较旧的库,并且自编写此库以来,
gcc
中添加了新的警告
由于Makefile将警告视为错误,(您可以看出,因为它打印了cc1:将警告视为错误),因此警告warn\u unused\u result
错误会导致编译失败
您的选择是:
编辑生成文件并删除任何-Werror
参数
修复根本原因(代码中未使用的fgets()返回值)
查找要使用的其他库-为什么要在系统上使用此库(可能未维护)
看起来您正在尝试在较新的系统上编译较旧的库,并且自编写此库以来,新的警告已添加到gcc
由于Makefile将警告视为错误,(您可以看出,因为它打印了cc1:将警告视为错误),因此警告warn\u unused\u result
错误会导致编译失败
您的选择是:
编辑生成文件并删除任何-Werror
参数
修复根本原因(代码中未使用的fgets()返回值)
查找要使用的其他库-为什么要在系统上使用此库(可能未维护)
,这是一个古老的libnet版本,现代版本使用autoconf,您需要使用这样一个旧版本吗
我建议从您正在使用的makefile中删除-Wall
和-Werror
。,这是一个古老的libnet版本,现代版本使用autoconf,您需要使用这样一个旧版本吗
我建议从您正在使用的makefile中删除-Wall
和-Werror