Qt -sysroot,-prefix,-extprefix和-hostprefix选项

时间:2017-08-31 14:17:23

标签: qt cross-compiling qmake

使用-prefix -extprefix-hostprefix选项交叉编译Qt5的正确方法是什么? 我的胳膊板上有sysroot dir。除了一个交叉编译Qt之外我没有问题 - 我无法弄清楚如何在我的主机上指定目录的安装路径(不是whitin sysroot)。尝试在船上安装Qt的-[..]prefix标志的每个组合。机上没有太多磁盘空间,所以我想在本地安装Qt。

这是我目前的配置:     ./configure -opengl es2 -nomake tests -no-libjpeg -skip qtwebkit -skip qtwebkit-examples -no-xcb -device linux-jetson-tk1-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- -sysroot /mnt/jetson_tk1_sysroot -hostprefix /home/alan/work/qt/qt_5.5.1_arm_cross_compiled -make libs -debug -v

我已经阅读了这个SO topic,Qt docs和谷歌很多。 如果有问题,我在主机和目标上运行Ubuntu。

1 个答案:

答案 0 :(得分:1)

安装步骤的目标是extprefix指定的目录,该目录是可选的,默认为sysroot/prefix。定义extprefix以指向主机中的某个目录可以防止您污染sysroot。 hostprefix允许将qmake等主机工具与目标二进制文件分开。给定时,这些工具将安装在指定目录下而不是extprefix。

使用这些前缀标记可以保持sysroot的清洁并分离设备二进制文件和主机工具:

export INSTALLPATH=/home/alan/work/qt/qt_5.5.1_arm_cross_compiled
./configure ... -extprefix $INSTALLPATH/binaries -hostprefix $INSTALLPATH/tools