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 下载安装过程

  1. 下载安装包

    官网路径:http://download.qt.io/official_releases/qt/

  2. 执行命令安装

    cd ~/Download/
    chmod a+x qt-opensource-linux-x64-5.9.2.run
    ./qt-opensource-linux-x64-5.9.2.run
    

    执行上述命令后会跳出图形界面,一步步next即可;

  3. 命令打开

    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:

  1. dbus 官网下载源码:https://dbus.freedesktop.org/releases/dbus/

  2. 生成makefile:./configure

  3. 编译:make(注意这里没有make install)

  4. 拷贝生成库到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,报错时根据具体内容执行如下操作安装即可:

  1. 搜索依赖库name:sudo apt-cache search xxx
  2. 安装依赖库: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环境

  1. 源码打包

    source env
    cd build
    bitbake -c populate_sdk xxx_image
    cd ./tmp/deploy
    

    执行bitbake中populate_sdk后将生成库放入所需环境即可

  2. 环境安装

    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了

  3. 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

  1. 将GCC & G++ & QT version都配置为上述步骤中添加的内容;

  2. Qt mkspec 这个根据实际情况来配置,如果发现编译可以生成makefile但是make出现问题或者编译出来的file并非aarch64指令集的可能就是这里默认的不对,需要配置(这个配置影响的是makefile中CC和G++的配置项);

3.4 选择对应工程进行编译

工程中选择projects,使用我们刚才添加的kit:yocto-sumo,右侧会自动 生成编译步骤以及命令,这部分一般不需要修改(实质与我们cmd操作一致,qmake & make),然后执行编译即可

4. 注意事项

  1. QT-creator中的QT version需要高于sdk中的QT版本,避免QTcreator默认不支持一些组件内容;
  2. qt.conf 文件是识别qmake必要内容,如果某个项目没有,建议从其他项目中拷贝一个,修改路径即可;
  3. Qt mkspec 会影响makefile的编译工具配置,需要根据实际情况来配置;

QtCreator导入yocto sdk记录相关推荐

  1. unity导入Mopub Sdk 并导出安卓和iOS包

    最近因公司需要在导入Sdk,项目需要导入Mopub 的sdk,下面记录下导入unity的步骤和导出安卓包和iOS包时遇到的坑和解决方式 1.mopub 导入unity 1.导入mopub 的unity ...

  2. IOS接入百度地图SDK,百度定位SDK记录

    地图显示 Xcode新建一个项目,我取名叫BaiduMapIOSAgain,包名为com.unity.BaiduMapIOSAgain. 在百度SDK的控制台创建应用,过程略,跟着官方说明即可 首先先 ...

  3. 【Qt】QtCreator导入cmake工程

    QtCreator导入cmake 一.ubuntu系统 1.配置cmake编译套件 2.导入cmake工程 二.windows系统 1.下载cmake 2.安装cmake 3.设置环境变量 4.添加c ...

  4. 自己手动导入的sdk包,提示程序包不存在,找不到符号(备忘)

    自己手动导入的sdk包,提示程序包不存在,找不到符号(备忘) 自己手动导入的sdk包,但是打包的时候却提示程序包不存在 自己手动导入的sdk包,确实已经导入进入了,写代码的时候import也没有红色的 ...

  5. 2023-02-10 clickhouse导入tpch数据-记录

    摘要: clickhouse导入tpch数据-记录 生成TPCH数据: 2022-07-06 使用tpch大数据量压测mysql_大数据怎么压测_帝尊悟世的博客-CSDN博客 clickhouse导入 ...

  6. android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法

    android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法 导入某修改后的海康视频SDK(老师给的),并修改相关文 ...

  7. oracle导入命令,记录一下 数据库日志太大,清理日志文件

    oracle导入命令,记录一下 工作中用到了,这个命令,记录一下,前提要安装imp.exe imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\wo ...

  8. mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间

    1.在数据库新建表card_records,根据打卡记录字段新建表的字段,新增id字段(自增) 2.利用navicat连接mysql数据库,导入打卡记录 右键新建的表,右键导入向导,选择导入的文件格式 ...

  9. android 记录路线轨迹_基于百度地图SDK记录运动轨迹

    标签 : 运动轨迹 百度地图SDK 最终实现的效果如下图所示### 注意1:模拟器上模拟要设置好Location(如果选择None就无法定位了),同时第一次打开应用会提示授权使用地理位置信息,点击允许 ...

  10. imx6开发环境搭建之yocto全记录(L4.1.15_2.0.0)

    最近才开始玩imx6,本来是不打算搞yocto的,毕竟有官方渠道可以下载uboot和kernel(下面会说到),为什么要干这种吃力不讨好的事情?然而当我玩到了qt5移植的时候,却发现网上各种imx6移 ...

最新文章

  1. 【图论技巧】点边转化(拆点和拆边)
  2. GetWindowRect和GetClientRect的区别详解
  3. POJ3614奶牛晒阳光DINIC或者贪心
  4. ant-design-pro使用服务器数据接口代理配置
  5. 远程屏幕传输“差异截图”的问题。
  6. [VirtaulBox]网络连接设置
  7. 屏幕距离和坐便转换工具_【软件推荐】你和大神的距离,只差这几个效率工具!...
  8. Python批量导入Excel文件中的不重复数据到SQLite数据库
  9. 有道云笔记快捷键使用
  10. MapXtreme 2005 学习心得 关于地图投影坐标问题的解决方式(十四)
  11. 重写FileUpload控件让它可以显示上传后的文件名
  12. 堆排序时间复杂度计算
  13. 核电厂功能安全分类、软件可靠性以及相关标准
  14. 很简单只需五步,实现图片换背景!
  15. java long转float_Java中为什么long能自动转换成float类型
  16. Account locked due to 10 failed logins
  17. Ps简单的墨笔画制作
  18. 史上最全Android版本号信息:)_我是亲民_新浪博客
  19. 微信公众号开发之用户分组
  20. Twitter无法输入密码

热门文章

  1. flask-session组件
  2. Linux静态库与动态库详解
  3. sublime ctrl b突然不能用解决方法
  4. 玩转Metasploit系列(第二集)
  5. c语言的编译器还真是不好理解...
  6. java访问 mysql返回空格_JAVA连接数据库返回输出信息
  7. win10连接共享打印机_win7共享出来的打印机部分电脑无法连接的问题
  8. CentOS7 网络配置--NAT模式
  9. 使用Ionic3创建原生app系统入门
  10. 通过python读取ini配置文件