这就是我做的...... #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
任何人都可以详细向我解释错误,以及如何纠正错误?任何帮助将非常感激。
答案 0 :(得分:1)
https://github.com/sam-github/libnet,这是一个古老的libnet版本,现代的使用autoconf,你需要使用这么旧的吗?
我建议从正在使用的makefile中删除-Wall
和-Werror
。
答案 1 :(得分:0)
看起来您正在尝试在较新的系统上编译较旧的库,并且自从编写此库以来已向gcc
添加了新的警告。
由于Makefile将警告视为错误,(您可以告诉它打印cc1: warnings being treated as errors
)警告warn_unused_result
错误导致编译失败。
您可以选择:
-Werror
参数