我正在 Ubuntu 18.04 上构建 yocto 映像(core-image-minimal),默认配置,并向其中添加了 Qt6。
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.
知道如何解决吗?
GCC v8 中引入了文件系统头,根据为什么 GCC 似乎没有文件系统标准库?。 Ubuntu 18 似乎包含 gcc v7。
如果您查看 Qt 开发页面 https://doc.qt.io/qt-6.5/linux-building.html您会发现它们仅支持较新的编译器版本。
我不确定 Yocto 是否使用系统编译器来构建 x64 库,但如果是这样,则可能是错误的原因。
我最近用 Yocto 构建了 Qt 6.5,但我不记得那个错误。我使用了 Ubuntu 22.04 的容器。