在CLion中运行Ninja项目

77 篇文章 4 订阅
20 篇文章 1 订阅

很多时候一些大型的C++工程项目虽然使用了CMake,但是对应的没有使用make而是Ninja,因为Ninja比较快。

而使用了Ninja的项目,CLion是不支持打开的,会报错:

/usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /home/zhang/ClickHouse-stable-full/ClickHouse
CMake Error: Error: generator : Unix Makefiles
Does not match the generator used previously: Ninja
Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.

你可以去投票让jetbrain尽快实现这个功能:Support Ninja CMake generator : CPP-2659

我在网上查到有人写了一个脚本帮忙实现CLion对Ninja的支持,地址在这里:Ninja support for CLion IDE

确保系统安装了Python3:

apt install python3

具体的方法是先下载脚本cmake_ninja_wrapper.py

wget https://gist.githubusercontent.com/arichardson/3de8adaebec0d488c13911edd2e0fe63/raw/ba71097edecfea31d8f0c51804f45d66ccf5c751/cmake_ninja_wrapper.py
chmod +x cmake_ninja_wrapper.py

编辑cmake_ninja_wrapper.py文件开头的REAL_CMAKE变量名为cmake的位置。

然后找到 Settings → Build, Execution, Deployment → Toolchains
在 "CMake executable"这栏选择 cmake_ninja_wrapper.py 脚本.

注意:如果你是打开别人的工程文件,把下面这几行注释了

    exit_code = call_cmake(sys.argv[1:])
    if exit_code != 0:
        sys.exit(exit_code)

然后重新加载项目就可以正确识别出了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangpeterx

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值