QtCreator导入yocto sdk记录
QT安装以及导入vendor sdk
1. QT-Creator安装
本次前后安装了几个版本验证问题,方法具有一致性,但是不同版本对于系统依赖可能不同:
主机环境:Ubuntu 14.04
QT creator(QT版本):5.9.2 / 5.12.0 / 5.14.0
1.1 版本5.9.2 下载安装过程
下载安装包
官网路径:http://download.qt.io/official_releases/qt/
执行命令安装
cd ~/Download/ chmod a+x qt-opensource-linux-x64-5.9.2.run ./qt-opensource-linux-x64-5.9.2.run
执行上述命令后会跳出图形界面,一步步next即可;
命令打开
sh ~/Qt5.9.2/Tools/QtCreator/bin/qtcreator.sh
上述路径为默认路径,不做配置的话就是在这里打开;
基于ubuntu14.04安装5.9.2及以下版本时不需要注意什么,但是在后续版本依赖会有所变化,需要安装对应包
1.2 版本5.12.0 依赖安装
按照4.1.1方式下载5.12.0版本并安装,在qtcreator启动是遇到如下错误:
./qtcreator: relocation error: /home/qiao/Qt5.12.0/Tools/QtCreator/lib/Qt/plugins/platforms/…/…/lib/libQt5DBus.so.5: symbol dbus_message_get_allow_interactive_authorization, version LIBDBUS_1_3 not defined in file libdbus-1.so.3 with link time reference
提示内容很简单,dbus_message_get_allow_interactive_authorization函数未定义,这种一般都是机器中so版本与程序依赖版本不一致导致的,安装高版本的dbus:
dbus 官网下载源码:https://dbus.freedesktop.org/releases/dbus/
生成makefile:./configure
编译:make(注意这里没有make install)
拷贝生成库到QT程序lib中:
cp libdbus-1.so /home/qiao/Qt5.12.0/Tools/QtCreator/lib/Qt/lib cp libdbus-1.so.3 /home/qiao/Qt5.12.0/Tools/QtCreator/lib/Qt/lib cp libdbus-1.so.3.26.0 /home/qiao/Qt5.12.0/Tools/QtCreator/lib/Qt/lib
注意上述操作过程中生成makefile时可能会报错,一般执行./configure或者cmake的时候会检测依赖库,如果没有就会报错,这里会依赖于expat,报错时根据具体内容执行如下操作安装即可:
- 搜索依赖库name:sudo apt-cache search xxx
- 安装依赖库:sudo apt install xxx
1.3 版本5.14.0
这个版本与5.12.0又有些不同,他在执行run程序安装的时候就会报错,提示依赖库不对,而由于此时没有安装,无法拷贝对应版本lib到程序依赖路径中(不建议修改系统库,可能会导致系统崩溃等异常出现),所以此版本后续没有往下进行;
2. 源码sdk打包安装
2.1 buildroot 环境
cd codesource/buildroot/
make sdk
cd output/host
sh relocate-sdk.sh
即执行make sdk后打包放入所需环境即可,整个过程没有遇到任何问题,这里就不详细记录了
2.2 yocto环境
源码打包
source env cd build bitbake -c populate_sdk xxx_image cd ./tmp/deploy
执行bitbake中populate_sdk后将生成库放入所需环境即可
环境安装
unrar -e sdk.rar # 根据需要,我这里打包后上传另一台服务器的 chmod 755 poky-glibc-x86_64-xxx-image-ivi-full-aarch64-toolchain-2.5.* sh ./poky-glibc-x86_64-xxx-image-ivi-full-aarch64-toolchain-2.5.sh source /home/qiao/code/toolchain/sdk-old/environment-setup-aarch64-poky-linux sh /home/qiao/Qt5.12.0/Tools/QtCreator/bin/qtcreator.sh
安装后已经基于当前环境变量启动qtcreator了
sdk测试
使用简单test程序或者helloworld程序
# 进入源码目录 cd hellowrld # qmake生成makefile ./../sdk/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake # 编译 make
正常情况下上述操作可以正常执行完成,说明sdk中qmake可以使用,如果不顺利的话,根据提示确认问题:
Could not find qmake configuration file linux-g++.
Error processing project file: /home/autochips/code/hello/helloworld.pro类似于这种提示基本说明环境变量设置不对,需要source
Could not find feature spec_pre.prf
类似于这种提示,需要首先搜索是否有这个对应的内容,如果有要排查qt.conf中配置;
3. QtCreator导入sdk配置
上述安装完成后,进入Tool-> options -> build & run,配置编译工具链为刚才打包生成的交叉编译工具
3.1 导入GCC & G++
核心步骤就是上图,在Compile中add GCC中C++和C,将sdk中路径填入即可,注意这里flags也填好,在启动qtcreator之前source环境变量即可拿到正确内容
3.2 导入qmake
找到sdk中的qmake填入路径即可,一般这里可能会出现如下两类问题:
QT version is not properly installed, please run make install
当前遇到这种问题是由于qmake没有被正确识别,而qmake可以正常cmd编译,则qmake本身没有问题,是qt.conf不存在导致异常,添加qt.conf后可以正常识别
No compiler can produce code for this QT version. please define one or more compilers for…
这个提示需要首先check GCC & G++是否有配置,如果没有的话先配置完成,如果这部分没有问题则需要确认QtCreator的版本是否正确,需要略高于sdk中的版本;
3.3 配置kit
将GCC & G++ & QT version都配置为上述步骤中添加的内容;
Qt mkspec 这个根据实际情况来配置,如果发现编译可以生成makefile但是make出现问题或者编译出来的file并非aarch64指令集的可能就是这里默认的不对,需要配置(这个配置影响的是makefile中CC和G++的配置项);
3.4 选择对应工程进行编译
工程中选择projects,使用我们刚才添加的kit:yocto-sumo,右侧会自动 生成编译步骤以及命令,这部分一般不需要修改(实质与我们cmd操作一致,qmake & make),然后执行编译即可
4. 注意事项
- QT-creator中的QT version需要高于sdk中的QT版本,避免QTcreator默认不支持一些组件内容;
- qt.conf 文件是识别qmake必要内容,如果某个项目没有,建议从其他项目中拷贝一个,修改路径即可;
- Qt mkspec 会影响makefile的编译工具配置,需要根据实际情况来配置;
QtCreator导入yocto sdk记录相关推荐
- unity导入Mopub Sdk 并导出安卓和iOS包
最近因公司需要在导入Sdk,项目需要导入Mopub 的sdk,下面记录下导入unity的步骤和导出安卓包和iOS包时遇到的坑和解决方式 1.mopub 导入unity 1.导入mopub 的unity ...
- IOS接入百度地图SDK,百度定位SDK记录
地图显示 Xcode新建一个项目,我取名叫BaiduMapIOSAgain,包名为com.unity.BaiduMapIOSAgain. 在百度SDK的控制台创建应用,过程略,跟着官方说明即可 首先先 ...
- 【Qt】QtCreator导入cmake工程
QtCreator导入cmake 一.ubuntu系统 1.配置cmake编译套件 2.导入cmake工程 二.windows系统 1.下载cmake 2.安装cmake 3.设置环境变量 4.添加c ...
- 自己手动导入的sdk包,提示程序包不存在,找不到符号(备忘)
自己手动导入的sdk包,提示程序包不存在,找不到符号(备忘) 自己手动导入的sdk包,但是打包的时候却提示程序包不存在 自己手动导入的sdk包,确实已经导入进入了,写代码的时候import也没有红色的 ...
- 2023-02-10 clickhouse导入tpch数据-记录
摘要: clickhouse导入tpch数据-记录 生成TPCH数据: 2022-07-06 使用tpch大数据量压测mysql_大数据怎么压测_帝尊悟世的博客-CSDN博客 clickhouse导入 ...
- android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法
android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法 导入某修改后的海康视频SDK(老师给的),并修改相关文 ...
- oracle导入命令,记录一下 数据库日志太大,清理日志文件
oracle导入命令,记录一下 工作中用到了,这个命令,记录一下,前提要安装imp.exe imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\wo ...
- mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间
1.在数据库新建表card_records,根据打卡记录字段新建表的字段,新增id字段(自增) 2.利用navicat连接mysql数据库,导入打卡记录 右键新建的表,右键导入向导,选择导入的文件格式 ...
- android 记录路线轨迹_基于百度地图SDK记录运动轨迹
标签 : 运动轨迹 百度地图SDK 最终实现的效果如下图所示### 注意1:模拟器上模拟要设置好Location(如果选择None就无法定位了),同时第一次打开应用会提示授权使用地理位置信息,点击允许 ...
- imx6开发环境搭建之yocto全记录(L4.1.15_2.0.0)
最近才开始玩imx6,本来是不打算搞yocto的,毕竟有官方渠道可以下载uboot和kernel(下面会说到),为什么要干这种吃力不讨好的事情?然而当我玩到了qt5移植的时候,却发现网上各种imx6移 ...
最新文章
- 【图论技巧】点边转化(拆点和拆边)
- GetWindowRect和GetClientRect的区别详解
- POJ3614奶牛晒阳光DINIC或者贪心
- ant-design-pro使用服务器数据接口代理配置
- 远程屏幕传输“差异截图”的问题。
- [VirtaulBox]网络连接设置
- 屏幕距离和坐便转换工具_【软件推荐】你和大神的距离,只差这几个效率工具!...
- Python批量导入Excel文件中的不重复数据到SQLite数据库
- 有道云笔记快捷键使用
- MapXtreme 2005 学习心得 关于地图投影坐标问题的解决方式(十四)
- 重写FileUpload控件让它可以显示上传后的文件名
- 堆排序时间复杂度计算
- 核电厂功能安全分类、软件可靠性以及相关标准
- 很简单只需五步,实现图片换背景!
- java long转float_Java中为什么long能自动转换成float类型
- Account locked due to 10 failed logins
- Ps简单的墨笔画制作
- 史上最全Android版本号信息:)_我是亲民_新浪博客
- 微信公众号开发之用户分组
- Twitter无法输入密码