컴파일러가 헤더 파일을 찾을 수 없습니다. PATH에 디렉터리를 추가하시겠습니까?

컴파일러가 헤더 파일을 찾을 수 없습니다. PATH에 디렉터리를 추가하시겠습니까?

에 있는 gtk를 사용하려고 하는데 /usr/include/gtk-3.0/gtk/ ..모든 헤더 파일이존재하다툴킷에는 #include <gtk/gtk.h>.

/usr/local/gtk-3.0모든 포함 전처리기를 추가 하거나 PATH추가하는 것 외에 어떤 다른 옵션이 있습니까 gtk-3.0?

답변1

이 경우에는 포함 경로에 적절한 디렉터리를 추가하는 것이 정확히 해야 할 일입니다. 단, 를 pkg-config통해 파일에 직접 액세스해야 한다는 점은 다릅니다.

다음과 같은 내용을 다음과 같이 추가하세요 Makefile.

CFLAGS += `pkg-config --cflags gtk+-3.0`
LIBS += `pkg-config --libs gtk+-3.0`

그러면 현재 시스템에 대한 올바른 컴파일러 및 링커 옵션이 자동으로 추가됩니다.

답변2

환경 PATH변수는 다른 유형의 파일이 아닌 실행 파일의 검색 경로입니다. 포함 파일의 경우 옵션이 -I/usr/include/gtk-3.0/gtk컴파일러에 전달되도록 준비해야 합니다 . 일반적으로 makefile에 의해 정의된 변수를 설정하거나(보통 CFLAGS='-I/usr/include/gtk-3.0/gtk') 인수를 전달하여 ./configure(보통 ) ./configure --includedir=/usr/include/gtk-3.0/gtk이를 수행합니다 .

Freedesktop 방식을 따르는 Gtk 및 기타 소프트웨어의 경우 포함 파일과 기타 컴파일러 및 링커 옵션의 위치를 ​​나타내는 올바른 방법은 다음과 같습니다.패키지 구성,Celada의 답변에 설명된 대로.

관련 정보