新闻  |   论坛  |   博客  |   在线研讨会
No CMAKE_CXX_COMPILER could be found
电子禅石 | 2025-08-13 17:41:05    阅读:39   发布文章

CMake 报错的含义:  

**没找到 C++ 编译器**。要么没装,要么装了但不在 PATH,要么交叉编译链没告诉 CMake 路径。


按场景 3 选 1:


--------------------------------

1. 本机 Ubuntu / Debian 直接编译  

```bash

sudo apt update

sudo apt install build-essential  # 会一次性装好 gcc/g++/make

```

再运行:

```bash

mkdir build && cd build

cmake ..

```


--------------------------------

2. 已安装交叉编译链,但未进入环境  

假设工具链路径是  

`/opt/cross/arm-openwrt-linux-gnueabi-g++`


- 临时用:  

```bash

export PATH=/opt/cross/bin:$PATH

export CXX=arm-openwrt-linux-gnueabi-g++

cmake ..

```


- 推荐写成 toolchain 文件:  

```cmake

# file: arm-toolchain.cmake

set(CMAKE_SYSTEM_NAME Linux)

set(CMAKE_CXX_COMPILER /opt/cross/bin/arm-openwrt-linux-gnueabi-g++)

```

调用:

```bash

cmake -DCMAKE_TOOLCHAIN_FILE=arm-toolchain.cmake ..

```


--------------------------------

3. 使用 SDK 自带环境脚本  

很多 SDK 会生成:

```bash

source /opt/sdk/environment-setup-armv7a-openwrt-linux-gnueabi

cmake ..

```

脚本里已帮你设好 CXX、CC、PATH、SYSROOT。


--------------------------------

一句话  

先确认 **g++ 是否存在**(`which g++`),再确认 **路径是否已加入 PATH 或 toolchain 文件**。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客