您的位置:首页 > 编程语言 > Qt开发

QT5的移植与错误总结

2015-08-10 16:05 369 查看
今天有个项目要做仪表盘的设计,需要用到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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: