赞
踩
Qt项目环境搭建及编译
a) 将poky-glibc-x86_64-core-image-weston-aarch64-toolchain-2.4.2.sh 拷贝到电脑 ~/workspace 目录下, cp poky-glibc-x86_64-core-image-weston-aarch64-toolchain-2.4.2.sh ~/workspace
b) 运行安装 ./ poky-glibc-x86_64-core-image-weston-aarch64-toolchain-2.4.2.sh ,脚本会自动将交叉编译工具安装到电脑的 /opt/poky/ 目录。
c) 安装成功后,执行命令检查是否成功
source /opt/poky/2.4.2/environment-setup-aarch64-poky-linux
将qt-everywhere-src-5.12.2.tar.xz 源码拷贝到电脑的 ~/workspace 目录下
cp qt-everywhere-src-5.12.2.tar.xz ~/workspace
源码可以在官网上下载
解压源码压缩包 tar –xvf qt-everywhere-src-5.12.2.tar.xz –C .
该项目使用的是H3 的板子,所以进入源码的根目录
cd qt-everywhere-src-5.12.2/qtbase/mkspec/device/
cp -r linux-rcar-m3-g++ linux-rcar-h3-g++
项目不需要qtwayland模块,可以直接删除,并且如果不删除会导致编译不过,
具体不知道什么原因,
mv qtwayland/ …/
将build.sh 脚本文件拷贝到 源码的根目录 并执行脚本
a) cp build.sh ~/workspace/qt-everywhere-src-5.12.2/
b) ./build.sh
c) 如果脚本没有权限 执行 chmod a+x build.sh
在源码的根目录 执行 sudo ./build.sh
Build 成功后,执行sudo make
Make 成功后,执行 sudo make install
以上执行成功后,会在build.sh 文件中 -extprefix 指定的目录下生成 qt库,也就是/usr/local/embedded/qtEmbedded_5.12.2/
由于该项目需要用到camer,但是编译时没有将gstream库链接,需要手动拷贝,首先先找到gstream库的所在目录,实际gsstream库均在交叉编译目录中
进入交叉编译目录 cd /opt/poky/2.4.2/
find ./ –name gstream
然后将查找到的所以库拷贝到生成的qt目录即:/usr/local/embedded/qtEmbedded_5.12.2/lib/
然后将 交叉编译目录库也拷贝到生成的qt目录。
cp /opt/poky/2.4.2/sysroots/aarch64-poky-linux/usr/lib/ /usr/local/embedded/qtEmbedded_5.12.2/lib/
因为生成的qt是板子的QT运行环境,如果不添加会导致程序无法编译/无法运行。
将生成的整个embedded目录打包压缩。
sudo tar –czvf embedded.tar.gz embedded/
Note:目前build.sh文件的配置没有进行精细的裁剪,并且从windows拷贝到ubuntu可能会有文件格式错误,需要进入命令行模式,输入 set ff=unix ,都会导致不能编译.
附build.sh 脚本内容:
#!/bin/bash
./configure
-v -opensource -confirm-license -silent -pkg-config
-release -shared -make libs
-system-zlib -system-libjpeg -system-libpng -widgets
-no-dbus -opengl es2 -libudev -evdev -accessibility -openssl-linked
-qt-pcre -pulseaudio
-no-pch -no-rpath -no-alsa -no-cups -no-fontconfig -no-harfbuzz -no-mtdev
-no-tslib
-no-glib -no-iconv -no-icu -no-openvg -no-sm
-no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc
-no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds
-no-xkb -no-xkbcommon
-optimized-qmake
-no-xcb -no-directfb -no-linuxfb
-nomake tests -nomake examples -nomake tools
-prefix /usr/local/embedded/qtEmbedded_5.12.2
-extprefix /usr/local/embedded/qtEmbedded_5.12.2
-sysroot /opt/poky/2.4.2/sysroots/aarch64-poky-linux
-device linux-rcar-h3-g++
-device-option CROSS_COMPILE=/opt/poky/2.4.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。