2017-08-31 143 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