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

使用CMake和Ninja编译Aseprite源码时遇C编译器识别错误

解决CMake+Ninja编译Aseprite时的CMAKE_C_COMPILER-NOTFOUND错误

这个错误本质是CMake压根找不到你的C编译器,连最基础的编译器识别文件CMakeCCompilerId.c都没法编译执行。下面是一步步排查和解决的具体方法:

1. 先确认C/C++编译器是否安装

  • Windows用户:要么装Visual Studio(一定要勾选「Desktop development with C++」工作负载,它包含MSVC编译器),要么装MinGW-w64;
  • macOS用户:终端运行xcode-select --install,安装Xcode命令行工具;
  • Linux用户:Ubuntu/Debian系跑sudo apt install build-essential,CentOS/RHEL系跑sudo dnf install gcc gcc-c++,把gcc/g++这类编译器装上。

2. 确保CMake能识别到编译器

  • 如果用Visual Studio:别随便开个终端就跑命令,要打开「x64 Native Tools Command Prompt for VS」(对应你的VS版本),在这个终端里执行CMake和Ninja操作——这个终端会自动配置好MSVC的环境变量,CMake能直接找到编译器;
  • 如果用MinGW/macOS/Linux:先在终端里跑gcc --version或者clang --version,能正常输出版本号说明编译器路径在PATH环境变量里;要是报错,得手动把编译器的bin目录添加到系统PATH里。

3. 手动指定编译器(自动检测失效时)

要是CMake还是找不到,你可以在执行CMake命令时直接指定C/C++编译器:

# GCC的情况
cmake -G Ninja -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..

# Clang的情况
cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..

# Windows下MSVC的特殊情况(一般开对应终端不用指定,特殊场景可以试试)
cmake -G Ninja -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe ..

4. 清理旧缓存后重试

之前的错误缓存可能干扰新的检测,先删掉build目录里的CMakeCache.txt和CMakeFiles文件夹,再重新执行CMake初始化命令。

补充一句:Aseprite编译对环境依赖要求比较严,后续还要按官方要求装Skia等依赖,但当前这个错误是编译器识别问题,先把这个解决了再处理其他环节。

内容的提问来源于stack exchange,提问作者S. Rigato

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:50:32