No CMAKE_CXX_COMPILER could be found
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)系工作人員刪除。