QT5的移植与错误总结

今天有个项目要做仪表盘的设计,需要用到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



你可能感兴趣的:(QT5的移植与错误总结)