2011-01-27 4 views
1

입니다 내가 무슨 짓을했는지 ... #tar -xzvf 4.0 하위 버전은 Libnet 파일 패치 - 0.10.11.tar.gz트러블에 4.0 하위 버전은 Libnet 파일 패치-0.10.11를 설치 우분투 9.10 여기에

그런 다음 나는 linux.mak를 복사 #cd 4.0 하위 버전은 Libnet 파일 패치 파일을 상위 디렉토리의 port.mak 파일로 복사하십시오. 이 문서가 말한대로 그런 다음, 나는

[email protected]:~/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

새로운 시스템에서 이전 라이브러리를 컴파일하는 중이고이 라이브러리가 작성된 이후에 새로운 경고가 gcc에 추가 된 것 같습니다.

Makefile에 경고가 처리되었으므로 (cc1: warnings being treated as errors으로 표시됨) 경고 warn_unused_result 오류로 인해 컴파일이 실패합니다.

옵션은 다음에 다음 중 하나

  1. 편집 메이크 (들) 및 -Werror 매개 변수 (들)
  2. 가 (코드에서 사용되지는 fgets() 반환 값을) 근본 원인을 해결
  3. 을 제거
  4. 사용할 다른 라이브러리 찾기 - 왜 시스템에이 (아마도 유지 관리되지 않는) 라이브러리를 사용하고 싶습니까?
1

https://github.com/sam-github/libnet 즉, 고대 libnet 버전이고, 현대적인 것은 autoconf를 사용합니다. 그런 오래된 것을 사용해야합니까?

사용중인 메이크 파일에서 -Wall-Werror을 모두 제거하는 것이 좋습니다.