在Ubuntu14.04中安装海思平台上交叉编译的qt4.8.7

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011251940/article/details/76071703

在Ubuntu14.04中安装海思平台上交叉编译的qt4.8.7

本文章基于hi3521a型号,使用的交叉编译工具为arm-hisiv300-linux

1、下载并解压

下载,因上传权限导致,不得不分卷压缩上传,共3卷

分卷1:http://download.csdn.net/download/u011251940/10117474

分卷2:http://download.csdn.net/download/u011251940/10117467

分卷3:http://download.csdn.net/download/u011251940/10117457

解压:qt-everywhere-opensource-src-4.8.7.tar.gz

#tar -zxvf qt-everywhere-opensource-src-4.8.7.tar.gz


2、修改qmake.conf文件,将文件中的编译工具链换成arm-hisiv300-linux

#vim qt-everywhere-opensource-src-4.8.7/mkspecs/qws/linux-arm-g++/qmake.conf

(打开文件后在命令模式下输入下面命令,将文件中的arm-linux全部替换成arm-hisiv300-linux)

:%s/arm-linux/arm-hisiv300-linux/g

在load(qt_config)上面添加下面三行

# modifications to gcc-base.conf
QMAKE_CFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=vfpv3-d16
QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=vfpv3-d16


3、修改qplatformdefs.h文件,在文件末尾添加

#vim qt-everywhere-opensource-src-4.8.7/mkspecs/qws/linux-arm-g++/qplatformdefs.h

#undef O_CLOEXEC//为解决 编译过程中找不到accept4函数问题


4、返回源码主目录,编译(动态编译或静态编译,二选一)

4.1、动态库编译

./configure -embedded arm -little-endian -host-little-endian -xplatform qws/linux-arm-g++ -prefix /usr/local/toolchain/hisiv300/Hi3521a/qt-4.8.7/shared -release -shared -opensource -confirm-license -no-multimedia -no-audio-backend -no-webkit -nomake examples -nomake demos -nomake docs -nomake tools -no-qt3support -no-javascript-jit -no-script -no-scripttools -no-declarative -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-openssl -no-nis -no-cups -no-dbus -qt-freetype -no-opengl -depths 15,16,24,32 -qt-gfx-linuxfb -qt-mouse-linuxinput

4.2、静态编译

./configure -embedded arm -little-endian -host-little-endian -xplatform qws/linux-arm-g++ -prefix /usr/local/toolchain/hisiv300/Hi3521a/qt-4.8.7/static -release -static -opensource -confirm-license -no-multimedia -no-audio-backend -no-webkit -nomake examples -nomake demos -nomake docs -nomake tools -no-qt3support -no-javascript-jit -no-script -no-scripttools -no-declarative -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-openssl -no-nis -no-cups -no-dbus -qt-freetype -no-opengl -depths 15,16,24,32 -qt-gfx-linuxfb -qt-mouse-linuxinput

4.3、编译安装

上述两个选择一个编译完成后执行下面安装

#make -j8

#make install


5、完成安装后查看一下安装是否正确

#qmake -v

出现错误:qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’: No such file or directory

分析: qtchooser默认选择路径中没有指向qmake路径
解决方法:在 /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

#cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser

#vim default.conf 

将第一行中/usr/lib/x86_64-linux-gnu/qt4/bin/替代为qmake的路径(我是静态编译)

/usr/local/toolchain/hisiv300/Hi3521a/qt-4.8.7/static/bin/


6、其他

在编译安装的时候可能会确少一些库,需要安装一些库,下面是我遇到缺少的库

#sudo apt-get install g++ make
#sudo apt-get install lib32stdc++6


展开阅读全文

没有更多推荐了,返回首页