필수 라이브러리를 설치하지 않고 패키지 컴파일

필수 라이브러리를 설치하지 않고 패키지 컴파일

컴파일을 시도했지만 bluez-utils-3.36시도한 후에구성패키지에서 오류 메시지가 발생했습니다. configure: error: Bluetooth library is required 가 나타납니다.

질문: 나는업데이트나 설치가 허용되지 않습니다.이 머신에 있는 모든 것은 컴파일만 가능합니다. 그래서 유일한 방법은 도서관을 가리키는 것이라고 생각합니다. 그래서 저는 ./configure -help두 가지 옵션을 작성하고 찾았습니다.

  BLUEZ_CFLAGS    C compiler flags for BLUEZ, overriding pkg-config

  BLUEZ_LIBS      linker flags for BLUEZ, overriding pkg-config

그래서 이를 내 명령에 추가하고 경로를 보완했습니다.

./configure --prefix=/home/black/test/ltib/rootfs BLUEZ_CFLAGS=-I~/home/black/test/bluetooth/bluez-libs-3.36/include BLUEZ_LIBS="-L~/home/black/test/bluetooth/bluez-libs-3.36/src/.libs -lbluetooth"

이제 오류 없이 잘 작동합니다.

하지만 명령을 실행하면 다음 make과 같은 오류가 많이 발생합니다.

glib-helper.c:34:33: error: bluetooth/bluetooth.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:35:30: error: bluetooth/rfcomm.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:36:29: error: bluetooth/l2cap.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:37:27: error: bluetooth/sco.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:38:27: error: bluetooth/sdp.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:39:31: error: bluetooth/sdp_lib.h: Datei oder Verzeichnis nicht gefunden

Datei oder Verzeichnis nicht gefunden독일어로 다음을 의미합니다.folder or file not found

이 문제를 어떻게 해결할 수 있나요?

답변1

명령에 제공한 경로에 문제가 있는 것 같습니다 configure.

./configure --prefix=/home/black/test/ltib/rootfs \
BLUEZ_CFLAGS=-I~/home/black/test/bluetooth/bluez-libs-3.36/include \
BLUEZ_LIBS="-L~/home/black/test/bluetooth/bluez-libs-3.36/src/.libs -lbluetooth"

~문자 앞에 공백이 없으면 홈 디렉터리 경로로 확장되지 않습니다. 다음 출력을 고려하십시오.

$ echo  -I~/foo
-I~/foo

비교적:

$ echo  -I ~/foo
-I /home/lars/foo

수정 사항을 ~적용 $HOME하더라도 경로는 여전히 의심스럽습니다.

~/home/black/test/bluetooth/bluez-libs-3.36/include

사용자 이름이 이라고 가정하면 black다음과 같이 확장됩니다.

/home/black/home/black/test/...

이것은 아마도 잘못된 것 같습니다.

-I경로를 수정 -L하고 구성을 다시 실행해 보세요.

답변2

나는 해결책을 스스로 찾았습니다. "include" 폴더를 복사하여 bluez-libs-3.36로 이동합니다 bluez-utils-3.36\common. 그런 다음 복사한 폴더의 이름을 "include"에서 "bluetooth"로 변경합니다. 이제 올바르게 컴파일될 것입니다.

관련 정보