qmake在绝对路径中搜索库

时间:2014-10-01 13:37:15

标签: qt arm cross-compiling ld buildroot

我正在交叉编译Qt应用程序。我的主机是一个Ubuntu系统,目标是基于buildroot的文件系统的ARM板,我使用的是Qt 5.3.1。当我尝试运行make时,出现以下错误:

/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

如您所见,它在libpthread.so.0libpthread_nonshared.a的目标中使用绝对路径。此库位于托管在我的主机上的目标文件系统中。已使用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  

我需要知道如何使ld能够使用sysroot变量或任何其他方法找到此库。

PS:我正在编译Qt应用程序。预构建的Qt应用程序在我的主机和目标

上运行

1 个答案:

答案 0 :(得分:2)

在output / host / usr / bin中使用Buildroot构建的qmake。这个具有预先配置的正确路径。如果它仍然无法正常工作,请在Buildroot错误跟踪器中提交错误报告,并提供一个简单的测试用例来重现问题,以及重现问题的步骤列表。