Ubuntu 下安装嵌入式Linux Qt开发环境

2019-07-13 00:22发布

一.安装ubuntu 所需相关包

sudo apt-get install vim #文本编辑器
sudo apt-get install minicom #串口终端 //使用libtoo生成makefile相关库,这里主要是tslib使用
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool //x86 qt 显示中文使用
sudo apt-get install libfontconfig1-dev
sudo ln -s /usr/include/freetype2 /usr/include/freetype
sudo apt-get install libfontconfig1-dev

二. ARM下完整环境安装

三. mips(君正)完整环境安装

m1. 安装交叉编译器

解压后 ,把mipsel-linux-gcc 对应目录加入PATH路径
即在~/.bashrc 最后加入一句
export PATH=$PATH:/home/hxy/soundsimple/mipsel-cc/bin
调整编译器名字与实际相符.修改qt源码目录下
mkspecs/qws/linux-mips-g++/qmake.conf文件 # # qmake configuration for building with mipsel-linux-g++ # include(../../common/linux.conf) include(../../common/gcc-base-unix.conf) include(../../common/g++-unix.conf) include(../../common/qws.conf) # modifications to g++.conf QMAKE_CC = mips-linux-gcc QMAKE_CXX = mips-linux-g++ QMAKE_CFLAGS += -mips32 QMAKE_CXXFLAGS += -mips32 QMAKE_LINK = mips-linux-g++ QMAKE_LINK_SHLIB = mips-linux-g++ # modifications to linux.conf QMAKE_AR = mips-linux-ar cqs QMAKE_OBJCOPY = mips-linux-objcopy QMAKE_STRIP = mips-linux-strip load(qt_config) 修改后 # # qmake configuration for building with mipsel-linux-g++ # include(../../common/g++.conf) include(../../common/linux.conf) include(../../common/qws.conf) # modifications to g++.conf //这一段修改内容 QMAKE_CC = mips-linux-gnu-gcc QMAKE_CXX = mips-linux-gnu-g++ QMAKE_CFLAGS += -mips32 QMAKE_CXXFLAGS += -mips32 QMAKE_LINK = mips-linux-gnu-g++ QMAKE_LINK_SHLIB = mips-linux-gnu-g++ # modifications to linux.conf QMAKE_AR = mips-linux-gnu-ar cqs QMAKE_OBJCOPY = mips-linux-gnu-objcopy QMAKE_STRIP = mips-linux-gnu-strip load(qt_config) tslib 生成语句
./configure –host=mips-linux-gnu –prefix=$PWD/../output ac_cv_func_malloc_0_nonnull=yes –enable-inputapi=no
Qt生成语句 ./configure -prefix $PWD/../output -opensource -confirm-license -release -shared -embedded mips -xplatform qws/linux-mips-g++ -depths 16,18,24,32 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2 -no-3dnow -no-openssl -no-webkit -no-qvfb -no-phonon -no-nis -no-opengl -no-cups -no-glib -no-armfpa -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -no-javascript-jit -no-declarative -no-scripttools -no-script -nomake examples -nomake demos -nomake tools -nomake docs -no-kbd-linuxinput -no-mouse-pc -qt-mouse-tslib -no-mouse-linuxtp -I$PWD/../output/include -L$PWD/../output/lib x86版本的配置
这里的-fontconfig 是显示中文的关键 ./configure -prefix $PWD/../output -opensource -confirm-license -release -shared -depths 16,18,24,32 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2 -no-3dnow -no-openssl -no-webkit -no-qvfb -no-phonon -no-nis -no-opengl -no-cups -no-glib -no-armfpa -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -no-javascript-jit -no-declarative -no-scripttools -no-script -nomake examples -nomake demos -nomake tools -nomake docs -qt-kbd-linuxinput -qt-mouse-pc -no-mouse-tslib -qt-mouse-linuxtp -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -fontconfig

四..在集成开发环境QtCreator 编译

使用QtCreator 来编译嵌入式项目有很多好处.
  1. 编译错误直接跳到相应源码进行修改
  2. 同一项目可以同时编译多个CPU版本.这样平时开发时使用x86版本进行编译和单步调试, 正式版本编译成相应的ARM/MIPS版本发布.
在ubuntu 下用一句话直接安装QtCreator即可
sudo apt-get install qtcreator
它会默认安装最新的QtSDK 和所有相关所有工具
1493747-2df6073add280798.png image.png

c1.配置不同的编译器

主菜单 --> tools-->options
需配置QtVersion和Kits两项
QtVersion只要选中相应版本的qmake即可
1493747-ae06708cb394b5d7.png image.png Kits主要是配调试器,如果没配对,在单步调试时会提示 "No debbuger set up "
1493747-3026d9b4d88860d0.png image.png 1493747-df8c28e2350f6b01.png image.png

c2. 项目中使用新的Qt版本

如果新导入项目,在导入会提醒使用哪个版本,把刚配QtVersion上全选即可
1493747-4bd11c46721b23d3.png image.png 如果是已经导入项目,则在project页中,右上角add kits加上刚才配的即可 缺少Debug选项,在QtCreator 的projects页中加入一个名为Debug的配置即可.(注意qmake 会有一个CONFIG+=debug的选项 1493747-fe21983f2ccffb3c.png image.png 提示no debugger set up ,要检查当前kits中的debugger 是否设好.
1493747-0820d03be3e99169.png image.png 4、屏蔽release版本中所有QDebug()提示信息:
如果要在命令行输出时不打出所有qdebug信息,可以在pro文件中添加DEFINES+=QT_NO_DEBUG_OUTPUT