2017-08-31 103 views
1

什么是使用-prefix-extprefix-hostprefix选项来交叉编译Qt5的正确方法? 我的手臂板有sysroot dir。除了一个以外,我对交叉编译Qt for ARM没有任何问题 - 我不知道如何指定我的主机上目录的安装路径(而不是白皮书sysroot)。试图在板上安装Qt的-[..]prefix标志的每个组合。板上没有太多的磁盘空间,所以我想在本地安装Qt。Qt -sysroot,-prefix,-extprefix和-hostprefix选项

这是我目前的配置: ./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

安装步骤将以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