CLion开发编译调试Makefile项目

前言

如果你用的是2020的版本,已经不需要按照我这篇文章去配置了。可以参考这篇官方博客的这篇文章Tips & Tricks: Develop OpenJDK in CLion with Pleasure


以下是原文

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编译数据库的示例:

[
 {
  "directory": "/home/kevin/Workspace/cWorkspace/libjpeg_cpp", 
  "arguments": [
   "g++", 
   "-g", 
   "-O0", 
   "-std=c++14", 
   "-Wall", 
   "-o", 
   "jpeg.o", 
   "-c", 
   "jpeg.cpp"
  ], 
  "file": "jpeg.cpp"
 }, 
 {
  "directory": "/home/kevin/Workspace/cWorkspace/libjpeg_cpp", 
  "arguments": [
   "g++", 
   "-g", 
   "-O0", 
   "-std=c++14", 
   "-Wall", 
   "-o", 
   "main.o", 
   "-c", 
   "main.cpp"
  ], 
  "file": "main.cpp"
 }
]

至于如何生成这个文件,下面会介绍。但是当CLion成功识别这个编译数据库文件之后,并不能进行调试。主要是因为目前CLion调试只能在CMake项目中使用。其实解决起来也不难,只需要在识别编译数据库(Compilation DB)之后再建立CMakeLists.txt文件,就能实现调试功能了

安装compiledb

在开始之前,我们需要安装一个可以从Makefile生成Compilation DB JSON文件的工具。我们将在本教程中使用的工具是compiledb。它是用Python编写的,所以最简单的方法是使用pip。

$ pip install compiledb

(你可能需要在前面加 sudo)

识别Makefile项目

  1. 生成Makefile
    如果项目本身就是Makefile,不需要再生成。如果是开源项目,往往需要生成Makefile。
  2. 从Makefile生成compile_commands.json
    $ compiledb -nf make
    
  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的监听了。按下图配置即可
    在这里插入图片描述

调试Makefile项目

完成了上面的步骤,你只能做一些代码编辑的工作,这样是不够的,我们还需要编译调试。下面就介绍如何编译调试

  1. 在项目根目录新建CMakeLists.txt文件,并填写如下内容。
cmake_minimum_required(VERSION 3.4.1)
project(libjpeg CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_VERBOSE_MAKEFILE 1)
add_custom_target(makeJpegCmd
        COMMAND make -j8
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

点击Load CMake project,如下图所示
在这里插入图片描述
配置Run/Debug
在这里插入图片描述
再切换到Compilation DB。Tools -> Compilation Database -> Reload Compilation Database Project

这样就可以开始在Makefile项目上开发,编译并调试了。
以下是调试界面截图
在这里插入图片描述

c 环境配置 colin 主要包括三个步骤:安装编译器、配置环境变量和测试编译器。 首先,安装编译器。在安装 c 环境之前,我们需要先下载对应的编译器软件。常用的 c 编译器有 gcc、clang、MSVC 等。根据个人需求选择适合自己的编译器,并下载对应的安装包。然后,按照安装向导进行安装即可。安装完成后,我们就拥有了一个可用的 c 编译器。 接下来,配置环境变量。环境变量的配置可以使得我们在任意目录下都能够直接使用 c 编译器。首先,找到我们安装的编译器安装目录。然后,将该目录添加到系统的环境变量中。具体的配置步骤可以根据操作系统的不同而有所差异,但一般都是在控制面板或者系统设置中找到“环境变量”选项,然后添加编译器安装目录到系统的“PATH”变量中。配置完成后,我们就可以在任意目录下打开命令行终端,输入编译器命令来编译和运行 c 程序。 最后,测试编译器。经过以上两个步骤的配置,我们就可以测试我们的 c 编译器是否正常工作了。在任意目录下新建一个文本文件,将其后缀改为“.c”,比如“test.c”。然后,用任意文本编辑器打开该文件,输入一段简单的 c 代码,比如“#include <stdio.h> int main(){ printf("Hello, world!"); return 0; }”。保存文件后,回到命令行终端,进入该文件所在的目录,输入编译命令,如“gcc test.c -o test”,然后按回车键进行编译。如果没有出现错误信息,说明我们的 c 编译器已经成功配置。 综上所述,通过安装编译器、配置环境变量和测试编译器三个步骤,我们可以完成 c 环境的配置,从而能够顺利编译和运行 c 程序。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值