2011-09-26 4 views
0

Windows 7에서 Dev C++을 사용하고 WinPcap (개발자 팩)을 사용하고 있습니다. Dev C++은/include/디렉토리를 프로젝트 옵션에 포함 시키더라도 pcap.h를 찾을 수 없습니다. 컴파일시 "pcap.h : no such file or directory"오류가 표시됩니다. (많은 다른 오류와 함께). 내 코드는 다음과 같습니다.C++ 프로그램 컴파일시 외부 라이브러리 포함 문제

#include <stdlib.h> 
#include <stdio.h> 
#include <pcap.h> 

int main(int argc, char **argv) 
{ 
pcap_t *fp; 
char errbuf[PCAP_ERRBUF_SIZE]; 
u_char packet[100]; 

    return 0; 
} 

나는 간단하게했습니다. 원래 Visual Studio (C++)에서 작업했지만 Visual C++로 컴파일 된 코드를 배포하려면 Microsoft C 런타임 라이브러리가 대상 시스템에 설치되어 있어야합니다. 난 그냥 최종 실행 파일을 배포하고 모든 컴퓨터에서 작동하도록하고 싶을뿐입니다.

나는 컴파일러에 주어진 명령 행을 검사했다. 에 -I [경로] 옵션이 있습니다. 내가 놓친 게 뭐니?

사이드 노트 : 위의 코드를 g ++ (dev C++ 설치 디렉토리에서)로 컴파일하고 올바르게 컴파일했습니다. 그러나 링크를 시도 할 때, 실행 파일이 생성되고, 실행 중 충돌이 발생했습니다.

+0

프로젝트 옵션에도/lib 또는/bin 폴더를 포함 했습니까? 그들은 일반적으로 "라이브러리 폴더"또는 링커와 관련이있는 것으로 나열됩니다. 소스에서 컴파일하지 않는 한 개발 라이브러리 (예 : VS의 경우 .lib 파일이 해당 라이브러리의 소스 코드와 함께 있어야 함)가 필요합니다. – Breakthrough

+0

예. 나는 그것을 포함 시켰습니다. 도서관 장. Include dir. 프로젝트 옵션에서. 하지만 여전히 헤더 파일을 찾을 수 없습니다. – Rushil

+0

Visual Studio 라이브러리 파일 또는 MinGW/Cygwin 라이브러리 파일을 사용하고 있습니까? – Breakthrough

답변

1

귀하의 질문에 약간의 불확실성이 있지만 쪽지는 컴파일 할 수있는 것처럼 소리가납니다 (예 : pcap.h 헤더가 있음). 링크 문제가있는 것 같습니다.

라이브러리의 검색 경로에 디렉토리를 추가하려면 -LPATH을 입력하십시오. 여기서 PATHlibpcap을 포함하는 실제 디렉토리입니다. 링크에 실제로 추가하려면 링커 호출에서 -lpcap을 사용하십시오.

$ g++ -o main -LPATH main.o -lpcap 
+0

@Employed : 필자는 뇌 손상된 오류가 빌드 시스템을 너무 오랫동안 사용하고 있다고 생각합니다. –

+0

+1 고쳐 주셔서 감사합니다. –