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

编译Celero演示代码遇CMake报错:无project()命令及编译器问题

构建Celero演示程序的正确步骤

1. 不要单独在DemoSimple目录执行CMake

DemoSimple下的CMakeLists.txt是子项目配置,依赖根目录的Celero核心库配置,直接在该目录跑CMake会缺失project定义、依赖路径等关键信息,这就是你遇到"无project()命令"错误的原因。

2. 先确保编译器配置正确

你提到用GCC,大概率是Windows下的MinGW/GCC套件,需要先让CMake正确识别到编译器:

  • 打开对应终端(比如MinGW命令行、配置了环境变量的CMD/PowerShell),执行gcc --version,确保能正常返回版本信息,说明编译器已加入系统环境变量。
  • 不要手动在CMakeLists里硬编码编译器路径,CMake会自动从环境变量查找,硬编码反而容易导致路径不匹配或依赖缺失。

3. 根目录下的标准CMake构建流程

建议用Out-of-Source Build(避免污染源码目录),在Celero项目根目录执行以下步骤:

  • 创建并进入build目录:
    mkdir build && cd build
    
  • 运行CMake指定正确的生成器(如果CMake未自动识别GCC):
    针对MinGW GCC:
    cmake -G "MinGW Makefiles" ..
    
    若是MSYS2环境的GCC,可改用"MSYS Makefiles"生成器。
  • 编译项目:
    mingw32-make
    
    MSYS环境直接执行make即可。

4. 解决kernel32.lib链接错误

这个错误通常是CMake误将编译器识别为MSVC,或是MinGW环境配置不完整导致:

  • 确保执行CMake时指定了正确的生成器(如上述的MinGW Makefiles),不要用默认的Visual Studio生成器。
  • 检查MinGW套件是否完整,确保安装了对应架构的完整工具链(比如64位的mingw-w64-x86_64-toolchain),MinGW下对应kernel32.lib的文件是libkernel32.a,完整工具链会包含该文件。

5. 运行DemoSimple程序

编译完成后,DemoSimple的可执行文件会在build/DemoSimple目录下,直接运行即可:

./DemoSimple.exe

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:01:59