CLion如何编译Makefile工程
CLion如何编译Makefile工程
1、Clion的简单介绍
CLion是以IntelliJ为基础,专为开发C及C++所设计的跨平台IDE,可以在Windows、Linux及MacOS使用。
2、linux平台Clion的安装
1)、得到Linux版Clion的.tar.gz的压缩包
去官网直接下载 https://www.jetbrains.com/clion/
2)、解压CLion-2019.3.3.tar.gz到当前文件夹
tar -zxvf CLion-2019.3.3.tar.gz
3)运行clion.sh脚本
cd clion-2019.3.3/bin/
./clion.sh
4)、打开workspace
第一次打开点击ok
然后同意就行
选择自己喜欢的主题。
然后一直往下走,插件先不安装。
新建一个C项目
3、CLion的配置支持Makefile 项目
CLion之前只支持Cmake项目,不支持Makefile项目。从2018.2版开始提供对Makefile项目支持。官方博客的教程可以看这里Working with Makefiles in CLion using Compilation DB
这里大概介绍一下。CLion通过加载Makefile项目的编译数据库(Compilation DB)来打开项目文件来完成代码补全, 静态分析, 跳转 和 重构功能。这样就完全获得CLion提供的高级IDE功能。
编译数据库(Compilation DB)允许CLion检测项目文件并提取所有必需的编译器信息,例如包含路径和编译标志。这种方法使您能够在IDE中运行并获得其功能的完整体验,同时使您的项目独立于CMake。
一个编译数据库是一个名为compile_commands.json的Json文件,包含有关项目中的每个编译单元中的结构化数据。
以下代码段显示了JSON编译数据库的示例:
至于如何生成这个文件,下面会介绍。但是当CLion成功识别这个编译数据库文件之后,并不能进行调试。主要是因为目前CLion调试只能在CMake项目中使用。其实解决起来也不难,只需要在识别编译数据库(Compilation DB)之后再建立CMakeLists.txt文件,就能实现调试功能了
3.1 安装compiledb
在开始之前,我们需要安装一个可以从Makefile生成Compilation DB JSON文件的工具。我们将在本教程中使用的工具是compiledb
。它是用Python编写的,所以最简单的方法是使用pip。
3.2 识别Makefile项目
1. 生成Makefile
如果项目本身就是Makefile,不需要再生成。如果是开源项目,往往需要生成Makefile。
2. 从Makefile生成compile_commands.json
3. 使用CLion打开该项目
打开该项目后,CLion将检测该compile_commands.json文件并查看其项目信息。您可能会在几秒钟内看到它,然后在“Build”工具窗口中显示“Compiler Info”选项卡,告诉您所有内容都已完成(您可以在“Sync”选项卡中看到任何错误或警告) )。
4. 测试是否建立索引成功
打开一个源码文件,如果上一步没有错误的话,你应该会看到代码已经着色了,并且可以声明和定义之间跳转了,一切跟你打开CMake项目一样
5. 监听Makefile修改,自动生成compile_commands.json
如果每次修改完都要手动运行生成compile_commands.json的命令,这就太不程序员了。而且种没有意义的操作,还是自动化的好。需要安装下面两个CLion Plugin:File Watchers, Makefile support
安装完成并重启后,就可以配置对makefile的监听了。按下图配置即可
3.3 配置Make and Make clean
在FILE-》Settings-》Build, Execution, Deployment -》Custom Build Targets。 点击+ 创建如下图所示, Name可以和项目一致:
在External Tools 中点击+ 创建make 和 make clean:
(详细如何配置请参考: https://www.jetbrains.com/help/clion/custom-build-targets.html#customtarget-compdb)
3.4 配置RUN/Debug
打开 Run-》Edit Configurations-》Custm Build Application,点击+ 创建 如下图所示:
3.5 完成
点击 Build and Run 可以进行项目的Build 和Debug。
参考文件:
1. https://www.jetbrains.com/help/clion/custom-build-targets.html#custom-rundebug
2. https://www.jetbrains.com/help/clion/makefiles-support.html#rd-configs
更多推荐
所有评论(0)