Qt 애플리케이션을 크로스 컴파일하고 있습니다. 내 호스트는 우분투 시스템이고 대상은 buildroot 기반 파일 시스템이있는 ARM 보드이며 Qt 5.3.1을 사용하고 있습니다. 나는 메이크업을 실행하려고하면, 나는 다음과 같은 오류가 발생합니다 : 당신이 볼 수 있듯이, 그것은 libpthread.so.0
및 libpthread_nonshared.a
에 대한 대상의 절대 경로를 사용q 절대 경로로 라이브러리 검색하기
/home/hamzah/vibrante/toolchains/tegra-4.8.1-nv/usr/bin/armv7a-vfpv3-cortex_a15-linux-gnueabi/../../libexec/armv7a-vfpv3-cortex_a15-linux-gnueabi/gcc/arm-cortex_a15-linux-gnueabi/4.8.1/ld: cannot find /lib/libpthread.so.0
/home/hamzah/vibrante/toolchains/tegra-4.8.1-nv/usr/bin/armv7a-vfpv3-cortex_a15-linux-gnueabi/../../libexec/armv7a-vfpv3-cortex_a15-linux-gnueabi/gcc/arm-cortex_a15-linux-gnueabi/4.8.1/ld: cannot find /usr/lib/libpthread_nonshared.a
collect2: error: ld returned 1 exit status
. 이 라이브러리는 내 호스트에 호스트 된 대상 파일 시스템에 위치합니다. 대상 라이브러리 검색 경로는 qmake.conf
가 QMAKE_LIBDIR
변수를 사용하여 추가되었습니다
QMAKE_LIBDIR += /home/hamzah/buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot
QMAKE_LIBDIR += /home/hamzah/buildroot/output/host/usr/arm-buildroot-linux-gueabihf/sysroot/usr/lib
내가 만드는 방법을 알 필요가 변수 또는 다른 방법 sysroot
를 사용하여이 라이브러리를 찾을 수 ld
.
추신 : Qt 응용 프로그램을 컴파일 중입니다. Qt 응용 프로그램이 호스트와 대상 모두에서 실행 중임
모든 것이 너무 빨리 만들어져 회의론을 갖습니다. Makefile에서 – Hamzahfrq
_LFLAGS = --sysroot = paht/to/ur/sysroot_와 같이 작동했습니다. 이것은 내가 찾고 있던 것입니다 !! 나는 아직도 그것이 qmake.conf에 지정되어 있는지 모르지만, 컴파일은 그것으로 작동한다. – Hamzahfrq