clion调试makefile工程文件

(129) 2024-05-18 10:01:01

CLion之前只支持Cmake项目,不支持Makefile项目。从2018.2版开始提供对Makefile项目支持。本节将根据现有网上资料进行整理及解决其中一些问题。
本文实验平台:ubuntu20.04 、clion201902、caffe

1、转化makefile文件

如果工程文件采用make方式可以编译通过,则执行第一步将makefile文件生成compile_commands.json

pip install compiledb 通过pip安装compiledb 
compiledb -nf make  在shell中对makefile进行compile_commands.json的生成。

2、识别Makefile项目

之前根据文章:打开该项目后,CLion将检测该compile_commands.json文件并查看其项目信息。您可能会在几秒钟内看到它,然后在“Build”工具窗口中显示“Compiler Info”选项卡,告诉您所有内容都已完成(您可以在“Sync”选项卡中看到任何错误或警告) )。发现Build图标为灰色,不能查看Sync。
其实可以直接进行打开compile_commands.json,按照提示打开project文件
操作步骤:

  • 删除.idea文件
  • 删除之前手动搞的CMakeLists.txt文件
  • 只用Clion打开compile_commands.json文件会自动打开整个工程
    clion调试makefile工程文件 (https://mushiming.com/)  第1张
    成功之后就可以进行代码跳转。

注意事项:

  • CMakeLists.txt和compile_commands.json文件不要共存,本来这个json文件只是用来配置工程的(Configure Projects)
  • compile_commands.json只是让你在编辑源代码的时候可以跳转,对于编译运行没啥作用
  • 有了compile_commands.json用CLion打开的时候,直接打开这个文件,会打开整个目录的

3、调试Makefile项目

3.1 通过新建CMakeLists.txt来进行调试,由于本人没有进行此项操作,具体细节待大家去探索了。看参考
3.2 Build actions for Makefile projects
第一步建立 :build target
clion调试makefile工程文件 (https://mushiming.com/)  第2张
clion调试makefile工程文件 (https://mushiming.com/)  第3张
clion调试makefile工程文件 (https://mushiming.com/)  第4张

第二步建立 :run->edit configuatation
target是第一步建立的名字,XX.bin是make后所要执行的文件。
clion调试makefile工程文件 (https://mushiming.com/)  第5张

参考文献:

  • https://www.pianshen.com/article/8746755867/
  • CLion开发编译调试Makefile项目clion调试makefile工程文件
  • 官网-Custom Build Targets and Applications
  • 官网断点-breakpoints
  • 官网-build:Build actions
THE END

发表回复