2016-07-06 11 views
0

저는 우분투를 사용하고 있습니다. 실제로 네트워크 패킷을 작성하고 작성하기 위해 libnet v.1.0.2a를 설치하려고합니다. 나는 이전 버전을 설치하고 있다는 것을 알고 있지만 잘 적응하고 있기 때문에 차라리 고수하고 싶습니다. 문제는 내가 코드를 작성하고 컴파일하려고 할 때 libnet 라이브러리의 모든 기능에 "정의되지 않은 참조"오류가 표시된다는 것입니다. 나는/usr/include를 검사했고 선언을 포함하는 헤더 파일이 모두 존재했다. 내 컴파일 명령에 나는 다음과 같이 썼다 :libnet-1.0.2a 함수에 대한 정의되지 않은 참조, 리눅스 C

$sudo gcc $(libnet-config --defines) -o aa aa.c -lnet 

그러나 아직 정의되지 않은 참조가 있습니다. 누군가 나를 도와 줄 수 있니?

+0

컴파일러가 제공하는 정확한 오류 메시지를 포함하고'libnet-config --defines'의 출력도 포함하십시오. –

+1

아마도'--defines' 대신에'libnet-config --cflags'를 원할 수도 있습니다. –

답변

0

사실 나는 문제를 해결했습니다. 잘못된 것은 내 컴파일러가 1.0 버전으로 작성된 반면 내 컴파일러는 1.1 버전에 연결된다는 것입니다. 실수로 두 버전을 설치했기 때문에 공존하지 않기 때문입니다. 내가해야 할 일은 두 개의 라이브러리를 삭제하고 새 버전을 독점적으로 설치하는 것입니다. 그리고 모든 코드를 새로운 버전으로 변환하는 것보다 훨씬 간단합니다.