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

为嵌入式Linux ARM处理器交叉编译OpenSceneGraph遇CMake错误求助

编译OpenSceneGraph 3.6.5 for ARM嵌入式Linux的CMake错误修复

针对你遇到的三个编译错误,可在CMakeLists.txt中添加以下内容逐一解决:

1. 解决cstdlib: No such file or directory错误

CMake未正确识别交叉编译环境下的C++标准库路径,需指定sysroot并添加标准库包含路径:

# 设置交叉编译的sysroot路径
set(CMAKE_SYSROOT "/opt/arago/sysroots/aarch64-linux")

# 添加C++标准库的头文件路径
include_directories(SYSTEM "${CMAKE_SYSROOT}/usr/include/c++/9.2.1")
include_directories(SYSTEM "${CMAKE_SYSROOT}/usr/include/c++/9.2.1/aarch64-linux")

注:SYSTEM关键字用于将路径标记为系统头文件,避免不必要的编译警告。

2. 解决atomic.h: No such file or directory错误

该错误源于TBB库的头文件未被CMake识别,添加TBB的包含路径即可:

# 添加TBB库的头文件路径
include_directories(SYSTEM "${CMAKE_SYSROOT}/usr/include/tbb")

若你的项目无需依赖TBB,也可直接禁用OSG对TBB的支持:

set(OSG_USE_TBB OFF CACHE BOOL "Disable TBB support")

3. 解决windows.h: No such file or directory错误

CMake误将目标系统识别为Windows,需明确指定目标系统为Linux,并强制OSG使用嵌入式Linux适配的窗口系统:

# 明确指定目标操作系统为Linux
set(CMAKE_SYSTEM_NAME Linux)

# 强制OSG使用X11窗口系统(适配嵌入式Linux环境)
set(OSG_WINDOWING_SYSTEM "X11" CACHE STRING "Force X11 windowing system for embedded Linux")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 08:48:21