2014-10-01 4 views
0

Qt 애플리케이션을 크로스 컴파일하고 있습니다. 내 호스트는 우분투 시스템이고 대상은 buildroot 기반 파일 시스템이있는 ARM 보드이며 Qt 5.3.1을 사용하고 있습니다. 나는 메이크업을 실행하려고하면, 나는 다음과 같은 오류가 발생합니다 : 당신이 볼 수 있듯이, 그것은 libpthread.so.0libpthread_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.confQMAKE_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 응용 프로그램이 호스트와 대상 모두에서 실행 중임

답변

2

Output/host/usr/bin에서 Buildroot에 의해 빌드 된 qmake를 사용하십시오. 이것은 올바른 경로가 미리 구성되어 있습니다. 그래도 문제가 해결되지 않으면 Buildroot 버그 추적기에 버그 보고서를 제출하고 문제를 재현 할 수있는 간단한 테스트 케이스 및 재현 단계 목록을 제출하십시오.

+0

모든 것이 너무 빨리 만들어져 회의론을 갖습니다. Makefile에서 – Hamzahfrq

+0

_LFLAGS = --sysroot = paht/to/ur/sysroot_와 같이 작동했습니다. 이것은 내가 찾고 있던 것입니다 !! 나는 아직도 그것이 qmake.conf에 지정되어 있는지 모르지만, 컴파일은 그것으로 작동한다. – Hamzahfrq