博客專欄

EEPW首頁 > 博客 > No CMAKE_CXX_COMPILER could be found

No CMAKE_CXX_COMPILER could be found

發(fā)布人:電子禪石 時間:2025-08-13 來源:工程師 發(fā)布文章

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. 已安裝交叉編譯鏈,但未進入環(huán)境  

假設(shè)工具鏈路徑是  

`/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++)

```

調(diào)用:

```bash

cmake -DCMAKE_TOOLCHAIN_FILE=arm-toolchain.cmake ..

```


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

3. 使用 SDK 自帶環(huán)境腳本  

很多 SDK 會生成:

```bash

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

cmake ..

```

腳本里已幫你設(shè)好 CXX、CC、PATH、SYSROOT。


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

一句話  

先確認(rèn) **g++ 是否存在**(`which g++`),再確認(rèn) **路徑是否已加入 PATH 或 toolchain 文件**。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。


關(guān)鍵詞: cmake

技術(shù)專區(qū)

關(guān)閉