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

Ubuntu18.04构建Yocto Qt6镜像遇<filesystem>头文件缺失错误求助

问题:Yocto构建Qt6组件时出现<filesystem>头文件缺失错误

环境与构建配置

Build Configuration:
BB_VERSION           = "2.2.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "raspberrypi3"
DISTRO               = "poky"
DISTRO_VERSION       = "4.1.4"
TUNE_FEATURES        = "arm vfp cortexa7 neon vfpv4 thumb callconvention-hard"
TARGET_FPU           = "hard"
meta                 
meta-poky            
meta-yocto-bsp       = "langdale:3e95f268ce04b49ba6731fd4bbc53b1693c21963"
meta-raspberrypi     = "langdale:8e3cbfa598de106a78d9a9e27aa25ded51416896"
meta-oe              
meta-multimedia      
meta-networking      
meta-python          = "langdale:cbbaa82238cd60f08c9b9cb58dde59d5f9318c7b"
meta-qt6             = "6.5:a65fb409f4469c087ae3e23ee80fbb2531f1856e"

编译错误信息

|   /home/martin/Downloads/yocto/build/tmp/work/x86_64-linux/qtbase-native/6.5.4-r0/git/src/tools/syncqt/main.cpp:24:10:
|   fatal error: filesystem: No such file or directory
| 
|    #include <filesystem>
|             ^~~~~~~~~~~~
| 
|   compilation terminated.

解决办法

这个错误根源是Ubuntu 18.04默认的GCC版本为7.x,而C++17标准的<filesystem>头文件在GCC 7中仅以std::experimental::filesystem形式存在,Qt6的构建代码直接使用了标准<filesystem>头,因此需要升级GCC版本到8及以上。

方案1:升级主机系统的GCC版本

  • 安装GCC 8及对应g++:
    sudo apt update && sudo apt install gcc-8 g++-8
    
  • 将GCC 8设置为默认版本:
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8
    
  • 验证版本是否生效:
    gcc --version
    
    输出应显示gcc (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0或更高版本的GCC 8系列。

方案2:在Yocto构建配置中指定GCC版本

如果不想修改主机默认GCC,可以在Yocto的local.conf文件中添加以下配置,强制构建系统使用更高版本的GCC编译native组件:

GCCVERSION = "8.%"
TOOLCHAIN_TARGET_TASK_append = " gcc-multilib g++-multilib"

添加后,重新执行构建命令即可。

内容的提问来源于stack exchange,提问作者Martin Dusek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 10:42:47