You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为TI AM437x在Qt Creator中配置Qt6套件(无法选择套件)

AM437x + TI Processor SDK 下Qt6开发套件配置指南

你的核心问题是Qt版本设为None,导致Qt Creator无法识别为有效的Qt开发套件。以下是针对你三个问题的具体解决方案:

1. 正确配置AM437x的Qt6套件步骤

步骤1:交叉编译Qt6到TI SDK的Sysroot

TI Processor SDK默认不包含Qt6,必须先交叉编译Qt6并安装到目标sysroot中:

  • 先加载TI SDK的交叉编译环境(自动设置所有必要环境变量,比手动指定编译器更可靠):
    source /root/SDK/ti-processor-sdk/linux-devkit/environment-setup-armv7at2hf-neon-oe-linux-gnueabi
    
  • 下载Qt6稳定版本源码(如6.5.x),解压后进入源码目录;
  • 运行configure脚本配置交叉编译(适配AM437x硬件,启用GPU/EGL支持):
    ./configure -release \
      -prefix /root/SDK/ti-processor-sdk/linux-devkit/sysroots/armv7at2hf-neon-oe-linux-gnueabi/usr/local/qt6 \
      -sysroot $OECORE_TARGET_SYSROOT \
      -device linux-generic-g++ \
      -device-option CROSS_COMPILE=arm-oe-linux-gnueabi- \
      -opensource -confirm-license \
      -skip qtwebengine \
      -nomake examples -nomake tests \
      -feature-opengl-es2 \
      -eglfs
    
  • 编译并安装:
    make -j$(nproc)
    make install
    

步骤2:在Qt Creator中添加Qt版本

打开Qt Creator → 工具 → 选项 → Qt版本 → 点击「添加」,找到刚才安装的qmake路径:
/root/SDK/ti-processor-sdk/linux-devkit/sysroots/armv7at2hf-neon-oe-linux-gnueabi/usr/local/qt6/bin/qmake
命名为「Qt 6.x.x for AM437x」并保存。

步骤3:配置工具链与CMake

  • 工具链:工具 → 选项 → 套件 → 编译器,添加GCC/G++,路径使用你之前指定的:
    • C编译器:/root/SDK/ti-processor-sdk/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc
    • C++编译器:/root/SDK/ti-processor-sdk/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++
  • CMake:工具 → 选项 → 套件 → CMake,添加你指定的SDK内CMake路径,命名为「ARM OE CMake」。

步骤4:创建并配置完整套件

工具 → 选项 → 套件 → 点击「添加」,命名为「AM437x Qt6 Kit」,关联以下组件:

  • Qt版本:选择刚才添加的「Qt 6.x.x for AM437x」
  • 编译器:关联配置好的ARM OE GCC/G++
  • CMake:选择「ARM OE CMake」
  • Sysroot:填写你之前的路径 /root/SDK/ti-processor-sdk/linux-devkit/sysroots/armv7at2hf-neon-oe-linux-gnueabi
  • 设备类型:Generic Linux Device,同时在「设备」选项中添加板卡的SSH连接信息(IP、用户名、密码)

完成后点击应用,创建新项目时就能看到这个套件。

2. 使用TI SDK的额外注意事项

  • 必须加载SDK环境脚本:source environment-setup-xxx会自动设置CC、CXX、SYSROOT等变量,避免手动配置时的路径或参数错误。
  • Sysroot完整性:确保sysroot中包含AM437x所需的底层库(如TI SGX GPU驱动、EGL库),否则Qt6的图形模块无法正常编译运行。
  • Qt版本不能设为None:Qt Creator的Qt开发套件必须关联有效的Qt版本,否则不会被识别为可用的Qt开发环境。
  • CMake依赖SDK版本:必须使用SDK自带的CMake,它已经集成了适配TI交叉编译环境的工具链配置,无需手动编写toolchain.cmake。

3. 推荐的Qt6与TI Processor SDK集成方式

方式一:基于Yocto构建集成Qt6(推荐)

TI Processor SDK基于Yocto构建,直接在Yocto中添加Qt6层可以生成自带Qt6的根文件系统和SDK,兼容性最好:

  1. 下载meta-qt6层并添加到Yocto的bblayers.conf中;
  2. 在local.conf中添加需要的Qt6模块:
    IMAGE_INSTALL:append = " qt6-base qt6-widgets qt6-gui qt6-eglfs"
    
  3. 重新构建根文件系统并生成SDK:
    bitbake -c populate_sdk core-image-minimal
    
  4. 安装新生成的SDK后,Qt Creator可以直接识别到内置的Qt6版本,无需手动交叉编译。

方式二:手动交叉编译Qt6到现有SDK

适合不需要重新构建整个根文件系统的场景,但需要注意:

  • 确保Qt6的编译参数与SDK的编译器、库版本完全匹配;
  • 若AM437x使用GPU,需确保SDK中包含SGX驱动的开发库,并在Qt配置时启用EGLFS后端。

内容的提问来源于stack exchange,提问作者김우람

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 12:27:29