很多时候一些大型的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)

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

在CLion中运行Ninja项目相关推荐

  1. 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端

    在<WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例>文章中,我介绍了自己用Visual Studio 2015(C# 6.0 with .NET Frame ...

  2. Docker基础学习笔记( 搭建web漏洞检测环境和容器中运行Django项目)

    目录 一.Docker技术的学习 1.1.docker安装(ubuntu16.04) 1.1.1.apt-get换国内清华源 1.1.2.安装最新版本的Docker 1.2.docker容器与镜像使用 ...

  3. Qt使用CMake在Clion中运行显示出的UI界面看起来很老,很过时怎么办?CMake下的Qt怎么使用SQLite?

    一.问题概述 如果使用Clion默认配置编译出来的UI界面看起来很老套,就像是win2000的界面.但是如果使用Qt Creator运行就没有问题,是现代windows的界面 二.问题原因 最后经过一 ...

  4. 怎么在linux的cmd中运行c项目,如何在cmd窗口编译运行c语言程序?

    / 这个很简单,只需要下载一个C/C++编译器,添加一下环境变量,之后就能在cmd窗口中编译运行C语言程序了,下面我简单介绍一下实现过程,主要内容如下: 1.下载C/C++编译器,这里可以下载MinG ...

  5. 不支持项目构面 java v1.7_在eclipse中运行maven项目的问题,未被识别为Java项目

    12 个答案: 答案 0 :(得分:37) 我已经开始使用mvn eclipse:eclipse 我在右键单击了该项目 PackageExplorer> Maven>更新 项目配置 这两者 ...

  6. 在wsl中运行开源项目tinyhttpd遇到的问题

    文章目录 问题:wsl下无法修改文件权限 解决 结果 无法显示color.cgi的解决方法 解决 问题:wsl下无法修改文件权限 index.html文件无法修改权限: root@lishizheng ...

  7. linux 安装包 在此作用域中尚未声明_Linux运行go项目报错:copy_file_range: bad file descriptor...

    这两天在 Linux 环境部署一个 Go 项目遇到一个报错:copy_file_range: bad file descriptor.网上查找各种方法,花了两天的时间,经过一番折腾后才解决,觉得非常有 ...

  8. 在Myeclipse中没有部署jeesite项目,但是每次运行其他项目时,还是会加载jeesite项目...

    解决办法: 一.在以下路径中找到jeesite文件,并删除 1.Tomcat 7.0\conf\Catalina\localhost 2.Tomcat 7.0\webapps 3.Tomcat 7.0 ...

  9. SpringBoot项目在idea中运行正常,打包jar包后运行报NoClassDefFoundError和UnsatisfiedDependencyException解决方案...

    SpringBoot项目在idea中运行正常,按照网上的方式打成jar包后在控制台运行报错. 第一个错误: 2018-09-06 09:38:35,222 ERROR (SpringApplicati ...

最新文章

  1. 万万没想到,“红孩儿”竟然做了程序员,还是 CTO!
  2. 面包好吃却五毒俱全,吃前请三思!
  3. quartus II Warning 好的时序是设计出来的,不是约束出来的
  4. 搭建多语言外文网站需要注意三个细节问题
  5. 现在就启用 HTTPS,免费的!
  6. 实用常识 | 一篇文章记录如何轻松清理C盘,C盘又满了,继续盘它
  7. 多行文本溢出显示省略号(…) text-overflow: ellipsis
  8. Protobuf简单编写与使用
  9. Wss3入门(2):设置匿名访问包括匿名阅读和匿名评论,修改评论的字段等。
  10. 编程基础(三)——体系结构
  11. python模拟账号登录_用Python(Tornado)模拟登录小米帐号
  12. 基于STM32简易计算器
  13. 【网站集合】【Windows】程序员常用网站一览
  14. SSL生成证书的几种方式
  15. VScode 中运行C++,并用g++命令、CMake、配置launch.josn和tasks.json来运行和调试可执行文件
  16. 获取星期--蔡勒公式
  17. HBuilderX连接苹果手机iPhone预览移动端页面
  18. 「石墨文档」在线协同办公系统平台免费在线办公文档兼容Office
  19. Android HAL原理实现 GPS HAL实现
  20. 为什么会有大端/小端之分?(众说纷纭)

热门文章

  1. Survey | 基于图卷积网络的药物发现方法
  2. Shiny平台构建与R包开发
  3. spell_picture3.1版本windows上手动拼图的软件的升级
  4. 鸿蒙首个云网站,鸿蒙首个云平台服务全中国
  5. php heredoc 开启,PHP中nowdoc和heredoc使用需要注意的一点
  6. 生物工程学报-微生物组测序与分析专刊-邀请函
  7. R语言使用subset函数基于组合逻辑筛选dataframe符合条件的数据行(select observations)、并指定需要保留的dataframe数据列或者字段
  8. R语言构建xgboost模型并评估模型(测试集、训练集每一轮):误分类率指标(misclassification rate)、logloss
  9. python中算法(sklearn)的最优超参数寻优:skopt贝叶斯搜索
  10. R计算获取决策曲线数据(Decision Curve Analysis,DCA)并使用python进行可视化