arm-gcc :4.8.1 arm-board :linux 3.4 for s5p6818
以下采用的系统为ubuntu16.04,开发板为迅为itop4412,4.3寸屏。
下载qt5.7源码qt-everywhere-opensource-src-5.7.0.tar.xz
http://www.download3k.com/Install-Qt.html
下载ARM交叉编译工具arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
http://www.veryarm.com/arm-none-linux-gnueabi-gcc
下载tslib1.4
http://vdisk.weibo.com/s/AcUHxOERV2k0?sudaref=www.baidu.com
将“arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2”解压到Ubuntu 系统的文件夹“/usr/local/arm”中。
然后修改环境变量,切换到home目录,然后输入命令“vim .bashrc”,打开设置环境变量的文件“.bashrc”,将环境变量修改为“export PATH=$PATH:/usr/local/arm/arm-2014.05/bin”
保存退出,然后更新一下环境变量,输入命令“source .bashrc”。
source .bashrc
1 接着测试一下,编译器路径设置的对不对。如下图,在Ubuntu 命令行中输入命令”arm”,
然后按键盘”Tab”,出现编译器“arm-none-linux-gnueabi-gcc-4.8.2”,这就说明编译
器路径设置正确。
对触摸屏信号的获取、校正、滤波处理,均采用开源的tslib,本文采用的tslib版本为最新的tslib1.4(可以从本文提供的链接中下载tslib1.4)。
1.将下载好的tslib1.4拷贝到/home/lz/transplant目录下(可以根据自己的系统选择某一目录),然后执行解压缩命令
tar -vxf tslib-1.4.tar.gz
切换到tslib目录:
cd tslib
安装交叉编译tslib必须的一些工具(可以先查看是否已安装,ubuntu16.04自带这些工具,可跳过)
sudo apt-get install autoconf sudo apt-get install automake sudo apt-get install libtool
2.利用脚本写编译过程
在tslib文件夹下新建文件configTslib14.sh
vi configTslib14.sh
内容如下:
#!/bin/sh make clean && make distclean echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc ./configure --host=arm-linux --prefix=/opt/tslib1.4 --cache-file=arm-linux.cache make && make install
然后运行configTslib14.sh
./configTslib14.sh
执行结束后,我们查看一下是否安装成功,执行命令:
ls /opt/tslib1.4
如果出现bin,etc,include,lib这4个目录,如下图所示,说明交叉编译并安装tslib成功。
将下载的qt-everywhere-opensource-src-5.7.0.tar.gz执行如下命令解压:
tar -vxf qt-everywhere-opensource-src-5.7.0.tar.gz
cd qt-everywhere-opensource-src-5.7.0
修改交叉编译架构用到的信息:
gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
修改如下图所示:
# # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEfile_GENERATOR = UNIX CONfig += incremental QMAKE_INCREMENTAL_STYLE = sublib QT_QPA_DEFAulT_PLATFORM = linux #eglfs QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-none-linux-gnueabi-gcc QMAKE_CXX = arm-none-linux-gnueabi-g++ QMAKE_link = arm-none-linux-gnueabi-g++ QMAKE_link_SHliB = arm-none-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = arm-none-linux-gnueabi-ar cqs QMAKE_OBJcopY = arm-none-linux-gnueabi-objcopy QMAKE_NM = arm-none-linux-gnueabi-nm -P QMAKE_STRIP = arm-none-linux-gnueabi-strip load(qt_config)
创建一个脚本文件,用于生成Makefile,执行命令
gedit autoConfigure.sh
输入下面内容并保存:
#!/bin/sh./configure -v -prefix /opt/qt-5.7.0 -release -opensource -no-accessibility -make libs -xplatform linux-arm-gnueabi-g++ -optimized-qmake -pch -qt-sql-sqlite -qt-zlib -tslib -no-opengl -no-sse2 -no-openssl -no-nis -no-cups -no-glib -no-pkg-config -no-separate-deBUG-info -I/Opt/tslib1.4/include -L/opt/tslib1.4/lib
其中-prefix /opt/qt-5.7.0代表我们编译完QT5.4.1后要安装地址;-tslib代表QT对触摸板的支持,-I 和 -L后面分别为为第一步编译tslib的include和lib的安装目录。
执行命令:
chmod 777 qt.configure.sh ./autoConfigure.sh
上述命令自动生成Makefile文件。
执行命令启动编译:
make
1 编译大概2个小时。
编译结束后,执行安装命令:
sudo make install
我们切换到目标目录下看看是否安装成功:
cd /opt/qt-5.7.0 ls
如图所示:
将/opt/qt-5.7.0和/opt/tslib1.4 拷贝到开发板的文件系统中对应的目录中。
设置QT的交叉编译环境安装qtcreator
进入qtcreator开发环境
在菜单中选择Tools——Options,在d出的对话框中,选择Build & Run,选择标签Compilers,按下图设置,选择C++交叉编译器,如下图所示:
切换到Qt Versions标签,点击“Add”按钮,选择qmake,如图所示:
选择完成,按“OK”按钮,设置如图所示:
切换到Kits标签,点击“Add”按钮,然后设置如下图所示:
把字库Ubuntu_L.ttf 等字库拷贝到 /opt/qt-5.7.0/lib/Fonts
在开发板串口命令窗口中输入:
vi /etc/profile
如下图所示:
将其修改为以下内容
export TSliB_ROOT=/opt/tslib1.4 export QT_ROOT=/opt/qt-5.7.0 export TSliB_TSDEVICE=/dev/input/event2 export TSliB_TSEVENTTYPE=input export TSliB_CONFfile=/opt/tslib1.4/etc/ts.conf export TSliB_PLUGINDIR=/opt/tslib1.4/lib/ts export TSliB_CONSolEDEVICE=none export TSliB_FBDEVICE=/dev/fb0 export QWS_MOUSE_PROTO=tslib:/dev/input/event2 export LD_liBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSliB_ROOT/lib:$TSliB_ROOT/lib/ 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 QT_QPA_GENERIC_PLUGINS=tslib
保存退出,执行命令(一定要执行,否则可能报错):
source /etc/profile
然后在串口命令窗中输入 vi /opt/tslib1.4/etc/ts.conf 来配置触摸屏
把第二行的注释去掉,把ts设置成输入模式(注意把前面的空格也去掉)
下面编写测试程序来测试开发板上
打开qtcreator,新建项目,拖几个按钮上去,如下图所示
编译得到可执行程序unTitled,查看一下,可以看到其信息显示为arm平台,如下图所示
将unTitled拷贝到开发板中文件系统的/bin目录,运行该程序。
[root@itop-4412]# /bin/unTitled
看一下板子:
以上是内存溢出为你收集整理的_未完成;交叉编译QT5.9安装到嵌入式arm板子上全部内容,希望文章能够帮你解决_未完成;交叉编译QT5.9安装到嵌入式arm板子上所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)