'make'는 설치된 라이브러리를 찾을 수 없습니다.

'make'는 설치된 라이브러리를 찾을 수 없습니다.

make 를 사용하여 purple-facebook.pidgin

json-glib이미 설치한 것이 필요 하지만 컴파일하려고 할 때마다 반환됩니다.

fatal error: json-glib/json-glib.h: No such file or directory.

/usr/include명명된 링크 json-glib내에 심볼릭 링크를 만들 려고 했지만 json-glib-1.0이로 인해 반복적으로 출력이 발생합니다.

gcc: warning: /var/cache/apt/archives/libjson-glib-1.0-0-dbg_1.0.2-1_armhf.deb: linker input file unused because linking not done.

저는 Debian 기반 배포판인 Raspbian을 실행하고 있습니다. 이걸 컴파일하려면 어떻게 해야 하나요?

답변1

저는 Rasbian 사용자는 아니지만 방금 JSON GLib를 설치했다고 가정합니다.도서관. 헤더 파일도 필요합니다. 이는 json-glib-dev포장에서 찾을 수 있습니다.

일반적인 조언: 루트로 물건(라이브러리, 바이너리)을 이동하거나 여기 저기에 심볼릭 링크를 만드는 경우 뭔가 잘못하고 있을 가능성이 높으며 이를 수행하는 더 좋은 방법이 있습니다.

답변2

설치 패키지libjson-glib-dev. 이 파일과 해당 종속 항목에는 필요한 파일이 포함되어 있습니다.

json-glib/json-glib.h아래에 /usr/include/json-glib-1.0. 따라서 귀하가 만든 심볼릭 링크는 쓸모가 없습니다. 제거하십시오( configure스크립트를 혼동시킬 수 있음). 컴파일러가 다음 헤더 파일을 검색하려면 /usr/include/json-glib-1.0이 옵션을 전달해야 합니다 -I /usr/include/json-glib-1.0. 하지만 이 작업을 수동으로 수행하지 마세요.pkg-config, 여기에는 이 옵션과 기타 필요한 옵션이 포함됩니다. C 컴파일러에 전달된 플래그 `pkg-config --cflags json-glib-1.0`와 링크 플래그가 포함되어 있는지 확인해야 합니다 `pkg-config --libs json-glib-1.0`.

실행하면 ./autogen.sh적절한 옵션이 포함된 makefile이 생성됩니다. 필요한 모든 라이브러리를 설치하기 전에 실행한 경우 ./configure다시 실행하면 pkg-config적절한 옵션이 호출되고 새 라이브러리가 생성 됩니다 Makefile.make

데비안 패키지를 빌드하려면 종속성을 설치하고 실행하는 것만으로도 충분합니다 dpkg-buildpackage(적어도 jessie에서는 필요한 라이브러리가 있는지 확인하기 위해 wheezy를 확인하지 않았습니다). 그래도 문제가 해결되지 않으면 실행한 모든 명령과 전체 출력을 복사하여 붙여넣으세요.

관련 정보