今天有個項目要做儀錶盤的設計,需要用到QT5的QML來畫介面,所以移植了一下QT5.
主要參考部落格是:
http://blog.csdn.net/askeyes/article/details/8641161
http://blog.csdn.net/newthinker_wei/article/details/39560109
1.QT5.5.0的下載地址http://download.qt.io/official_releases/qt/5.5/5.5.0/single/
選擇qt-everywhere-opensource-src-5.5.0.tar.gz下載解壓
2。修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
3../configure -release -opensource -xplatform linux-arm-gnueabi-g++ -prefix /opt/Qt-5.5.0/armv7-a -no-c++11 -qreal float
4.make -j2
5.make install -j2
6.在/opt/Qt-5.5.0/armv7-a/目錄下面產生lib plugin bin .等檔案夾
其中lib是QT5編譯用的庫,plugin是QT5所用的外掛程式,lib 和plugin目錄都要複製到板子裡面才可以運行QT程式。
其中bin裡面的qmake命令就是我們用來編譯QT5工程的命令
7.將lib和plugin目錄複寫到目標板中,並設定如下面環境變數
export QT_ROOT=/data
export LD_LIBRARY_PATH=/data/lib:$LD_LIBARAY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export LD_PRELOAD=/usr/lib/preloadable_libiconv.so:$TSLIB_ROOT/lib/libts.so
export QT_QPA_GENERIC_PLUGINS=tslib
8.在編譯好的例子中下載一個例如名字是rashterwindow的可執行QT程式,用命令執行:
./rashterwindow -qpa
錯誤總結:
在執行QT程式是出現如下錯誤
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
解決辦法:
參考連結:http://www.qtcn.org/bbs/simple/?t55852.html
問題 3:./system/rootlib/helloworld -qws ,程式運行起來,仍報錯
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
解決 :下載 http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
./configure -prefix=$PWD/_install -host=arm-linux-gnueabihf
make
make install
把_install/lib 下的preloadable_libiconv.so 拷到系統的/system/lib 下,
export LD_PRELOAD=/system/lib/preloadable_libiconv.so