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文件会自动打开整个工程
成功之后就可以进行代码跳转。
注意事项:
- 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
第二步建立 :run->edit configuatation
target是第一步建立的名字,XX.bin是make后所要执行的文件。
参考文献: