日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

arm ubuntu 编译boost_使用yocto工具编译qt5.9.6总结

發布時間:2025/3/12 Ubuntu 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arm ubuntu 编译boost_使用yocto工具编译qt5.9.6总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

運行平臺:OKMX6DL-C

編譯平臺:Ubuntu 14.04.6 LTS

編譯工具:arm-poky-linux-gnueabi-gcc(gcc version 5.3.0 (GCC) )

qt源碼:qt-everywhere-opensource-src-5.9.6.tar.xz

參考:

嵌入式開發之Qt-5.9.6交叉編譯(帶WebEngine)

QT官網關于交叉編譯說明

g++: internal compiler error: Killed (program cc1plus) 解決辦法

第4篇 交叉編譯Qt 5.4.0

安裝 SDK:

資料:飛凌開發板提供的OKMX6X-C_Linux4.1.15 用戶資料Linux工具fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh

(1)將fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh拷貝到虛擬機任意目錄 ,執行:

./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh

默認將會安裝到/opt/fsl-imx-x11/目錄下(這里安裝到了/opt/fsl-imx-x11/4.1.15-2.1.0/)。

安裝完成后 /opt/fsl-imx-x11/4.1.15-2.1.0/ 目錄結構如下:

lin@ubuntu:/opt/lin$ ls environment-setup-cortexa9hf-neon-poky-linux-gnueabisite-config-cortexa9hf-neon-poky-linux-gnueabi sysroots version-cortexa9hf-neon-poky-linux-gnueabi

environment-setup-cortexa9hf-neon-poky-linux-gnueabisite-config-cortexa9hf-neon-poky-linux-gnueabi 是環境初始化腳本。

(2)環境變量(注意空格):

. /opt/lin/environment-setup-cortexa9hf-neon-poky-linux-gnueabisite-config-cortexa9hf-neon-poky-linux-gnueabi

(3)譯器是否安裝成功:

arm-poky-linux-gnueabi-gcc -v

安裝依賴庫

sudo apt-get install gcc-multilib g+±multilib

sudo apt install pkg-config

sudo apt install pkgconf

解壓qt源碼

$ xz -d qt-everywhere-opensource-src-5.9.6.tar.xz #解壓文件 $ tar xvf qt-everywhere-opensource-src-5.9.6.tar

刪除舊版Qt

需要著重注意sysroot對應的cortexa9hf-neon-poky-linux-gnueabi目錄下存在之前編譯的舊Qt版本的動態庫,必須進行清除操作,否則將會影響新版本Qt的編譯。

cd /opt/lin/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib$ sudo rm .libQt* -rf sudo rm lib/qt5 -rf

創建配置腳本

#!/bin/bash sudo ./configure -v -opensource -confirm-license -sysroot /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi -no-gcc-sysroot -prefix /usr/local/Qt-5.9.6 -device linux-imx6-g++ -device-option CROSS_COMPILE=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -release -shared -make libs -verbose -no-pch -no-rpath -pkg-config -accessibility -no-alsa -icu -dbus -no-glib -no-directfb -eglfs -no-kms -linuxfb -xcb -xcb-xlib -evdev -no-libinput -xinput2 -no-tslib -libudev -no-mtdev -nomake examples -nomake tests -fontconfig -no-opengl -opengl es2 -egl -no-openvg -system-zlib -system-libjpeg -system-libpng -system-xcb -openssl-linked -qt-pcre -pulseaudio -no-sm -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite2 -no-sql-tds -widgets -xkb

修改qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf

# # qmake configuration for the Freescale iMX6 boards (single, dual and quad) # # The configuration below is set up for running with EGL on the framebuffer via # the eglfs platform plugin and its eglfs_viv backend.# Wayland is also fully functional out of the box. However, when writing Wayland # *compositors* with Qt, the eglfs backend will have to be switched to # eglfs_viv_wl by setting the QT_QPA_EGLFS_INTEGRATION environment variable. # # Below is an example configure line that assumes the SDK is in # $HOME/imx6/toolchain. On device Qt is expected to be placed under # /usr/local/qt5 whereas on the host 'make install' will copy the host tools and # the target libraries to $HOME/imx6/qt5. # # ./configure -prefix /usr/local/qt5 -extprefix $HOME/imx6/qt5 -device linux-imx6-g++ # -device-option CROSS_COMPILE=$HOME/imx6/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- # -sysroot $HOME/imx6/toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi # -nomake examples -nomake tests -v #include(../common/linux_device_pre.conf)QMAKE_LIBS_EGL += -lEGL QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGALIMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 QMAKE_CFLAGS += $$IMX6_CFLAGS QMAKE_CXXFLAGS += $$IMX6_CFLAGSDISTRO_OPTS += hard-floatDBUS_LIBS = -L/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib-ldbus-1# Preferred eglfs backend EGLFS_DEVICE_INTEGRATION = eglfs_vivQMAKE_INCDIR_OPENGL_ES2 = /home/l/workspace/imx6/tools/gpu-viv-bin-mx6q-3.10.17-1.0.2/hardfp/usr/include QMAKE_LIBDIR_OPENGL_ES2 = /home/l/workspace/imx6/tools/gpu-viv-bin-mx6q-3.10.17-1.0.2/hardfp/usr/lib QMAKE_INCDIR_EGL = /home/l/workspace/imx6/tools/gpu-viv-bin-mx6q-3.10.17-1.0.2/hardfp/usr/include QMAKE_LIBDIR_EGL = /home/l/workspace/imx6/tools/gpu-viv-bin-mx6q-3.10.17-1.0.2/hardfp/usr/libinclude(../common/linux_arm_device_post.conf)# modifications to g++.conf QMAKE_CC = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi QMAKE_CXX = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi QMAKE_LINK = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ --sysroot=/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi QMAKE_LINK_SHLIB = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ --sysroot= /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi# modifications to linux.conf QMAKE_AR = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ar cqs QMAKE_OBJCOPY = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-objcopy QMAKE_NM = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-nm -P QMAKE_STRIP = /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-stripload(qt_config)

gpu庫

至此EGLFS i.Mx6的支持是無法開啟的,原因為sysroot中的EGL依賴庫不是GPU版本,必須使用官方提供的GPU版本。gpu-viv-bin-mx6q-3.10.17-1.0.0.tar.gz

tar xvzf gpu-viv-bin-mx6q-3.10.17-1.0.0.tar.gz

解壓完成后進入gpu-viv-bin-mx6q-3.10.17-1.0.0目錄,該目錄中有以下內容: 其中hardfp中的內容是我們需要的。把hardfp目錄下的usr/lib/和include文件替換sysroot目錄下的usr/lib 和usr/include中的文件,此目錄是自己定義的,讀者可以拷貝到其它目錄下,只需要在后邊修改Qt的編譯配置文件的時候設置正確就可以了。~

sudo make

許久之后。。。

好久好久以后。。。

sudo make install

總結

以上是生活随笔為你收集整理的arm ubuntu 编译boost_使用yocto工具编译qt5.9.6总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 69久久精品无码一区二区 | 五月婷婷激情 | 一区二区三区小视频 | 精品九九 | 亚洲一片| 久久视频在线播放 | 99精品免费在线观看 | 丝袜脚交免费网站xx | 巨大胸大乳奶电影 | 综合视频一区 | 成人免费播放 | 日韩av网站在线 | 免费av成人 | 成人免费在线小视频 | 日韩网红少妇无码视频香港 | 九一国产视频 | 五月天欧美 | 国产欧美日韩视频 | 国产福利一区二区三区视频 | 99久久久无码国产精品性波多 | 天天射夜夜骑 | 国产十八熟妇av成人一区 | 开心春色激情网 | 中文字幕视频在线观看 | 欧美性猛交久久久久 | 超碰加勒比| 任你操精品 | 中文字幕在线观看亚洲 | 玩弄人妻少妇500系列视频 | 日本欧美一区二区 | 日本男人天堂 | 亚洲视频在线播放 | 毛片免费在线观看视频 | 国产精品国产三级国产播12软件 | 最新日韩视频 | 成人免费视频观看视频 | 日韩久久久 | 亚洲色网址 | 成人学院中文字幕 | 日韩无遮挡 | 97潮色 | 国产精品乱 | 少妇大叫太粗太大爽一区二区 | 国产综合第一页 | 99有精品 | 人人澡人人看 | 日本黄色一区二区三区 | 亚洲综合网在线观看 | 久久久久精| 国产一卡二卡在线 | 久久久精品一区二区三区 | 二区三区av | 色婷婷综合久久久中文字幕 | ass亚洲肉体欣赏pics | 日本wwwwwww | 荫蒂被男人添免费视频 | 日本黄色一级 | 国产又粗又黄的视频 | 欧美一区二区大片 | 欧美精品免费一区二区三区 | 99re视频这里只有精品 | 免费啪视频在线观看 | 性欧美久久 | 让男按摩师摸好爽视频 | 久久精品亚洲一区 | 美女激情网站 | 青草伊人久久 | 69视频在线看 | 在线免费成人网 | 免费观看一级黄色片 | 三上悠亚在线一区 | 黄色片www| 免费一二三区 | 女警白嫩翘臀呻吟迎合 | 色情毛片| 国产18毛片 | 久久丝袜视频 | 国产一区二区三区欧美 | 国产无套精品一区二区三区 | 国产精品久久午夜夜伦鲁鲁 | 99riav在线 | 成人免费黄色网址 | 国产成人av免费 | 国产91一区 | 国产美女www爽爽爽 www.国产毛片 | 少妇无码av无码专区在线观看 | 天天躁日日躁狠狠躁 | 在线观看黄色片 | 91精品大片 | 成人激情开心 | 国产一区二区三区四区精 | 99er在线 | 2022av视频| 久久福利影视 | 91亚洲视频在线 | 一区免费在线 | 欧美日韩成人免费 | 不卡一区二区在线视频 | 国产精品乱码久久久 |