使用CLion编辑C工程

最近正在研究Linux C代码编辑器,确实也不太喜欢SI(Windows看代码还行,编辑一般,同步麻烦),

尝试使用CLion,但对makefile工程支持不好,怎么编译还没搞懂,

阅读、编辑还不错,智能提示、语法检查、函数跳转、查引用都挺好用的。

不过要想使用CLion的这些功能需要添加工程中的h文件到CMakeList.txt,
可参考如下脚本(把print结果添到CMakeList.txt里就行)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import fnmatch
import os
import sys

def find_file(path, file_exp):
    for r, d, f in os.walk(path):
        for n in fnmatch.filter(f, file_exp):
            yield os.path.join(r, n)

if __name__ == ‘__main__‘:
    if len(sys.argv) != 2:
        print(‘Usage: python get_h_cmakelist.py path_to_your_project‘)
        exit(-1)
    project_path = sys.argv[1]
    h_dir = []
    for file in find_file(project_path, ‘*.h‘):
        file_dir = os.path.dirname(file)
        if file_dir not in h_dir:
            h_dir.append(file_dir)
    print(‘include_directories({0})‘.format(‘\r\n\t‘.join(h_dir)))

结果类似

include_directories(E:\ids\suricata-3.1.2\libhtp\htp
    E:\ids\suricata-3.1.2\libhtp\test
    E:\ids\suricata-3.1.2\libhtp\test\gtest
    E:\ids\suricata-3.1.2\src)
时间: 2024-10-05 15:19:52

使用CLion编辑C工程的相关文章

转移用VC或者VS编辑的工程时,可以删除,并且能大大减小工程文件的相关后缀的文件列表

转移用VC或者VS编辑的工程时,可以删除,并且能大大减小工程文件的相关后缀的文件列表: ===================================================== *.plg;*.opt;*.ncb; *.user;*.suo; *.ilk;*.pdb;*.pch;*.bsc *.sdf debug;release ===================================================== 批量查找的方法: 1.尽量预操作目录: 2

Axure如何如何建立共享项目、如何编辑共享项目、如何获取共享项目

如果小伙伴是一名编程工作者,我们不可以避免的会和Axure这块软件握手,但是但一个项目需要协同操作的时候,就需要用到项目共享的功能.类似我们的svn,想起机房合作的时候,每天早上来到427的我们,打开电脑,开始新的一天的工作,首先,我们从服务器下载项目组最新代码:其次,进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯.因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了).最后,当十点半的钟声在

Eclipse导入Java工程后工程不能手动编译-最简解决办法

1. svn或者git上取下一个干净的工程代码,导入Eclipse 2. 选定工程右键属性,试图手动编辑该工程 发现没有build project选项.  如下图: 测试还有两个表现: 1> project-clean 项目列表里找不到这个项目 2> Export 到javadoc 可选工程项目里没有这个项目. 解决办法: 该工程.project 文件里增加两行 值. 保存,Eclipse里refresh,然后就可以编译和导出javadoc了. 工程.project 文件内容原来是这样:

使用Makefile去管理程序

前言:在gcc中如何使用分屏操作  : 在命令行中使用    : sp + filename     vim  Makefile  编辑make工程   第一行使用 # 进行注释   说明是什么make  内容格式:  目标文件:  依赖文件 ·  ·  ·  但是一定要注意如果要使用编译指令一定要用table键 不能使用几个空格代替 另外  max.h 和min.h 的内容就是函数声明 下面说下这样make的好处吧:  在大型程序中能很好帮我们管理我们的代码和项目,程序的任何部分分工都很明确,

【mfc】利用文件的读写,theApp全局变量来现实登录帐号管理系统

本文亦是在<[mfc]用对话框的切换实现重新登录>(点击打开链接)的进一步工作,也是对其的进一步改进,上次的登录只是在判断用户输入的用户名与密码是否为admin与123,这次则利用文件的读写实现用户帐号的创建.删除与修改,不再拘泥与admin与123这个帐号,用户可以创建很多帐号,并且赋予其是否有修改帐号的权限,同时,利用theApp全局变量,用户一旦成功,其登录信息则会一直被记录,类似与网页中的Session.虽然现在VC6中的mfc已经过时了,但是仍然具有研究意义,毕竟XP曾经是一个无法超

【转载】Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面(当然是针对上面那条来说了) Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性 Shift+Enter

MyBatis基本配置和实践(五)

第一步:创建一个Maven工程 第二步:编辑Maven工程的pom.xml,引入mybatis-generator-maven-plugin <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan

Xcode常见报错解决办法

这里总结了几个常见的Xcode报错以及解决办法,希望对大家学习Xcodehttp://www.maiziedu.com/course/234/有所帮助. 1. 死存储问题 CocoaChina CocoaChina CocoaChina 这个问题上篇文章提到过,之所以重新罗列出来,是因为这个问题也挺常见的.导致这个问题的原因是,当我们对某个对象直接赋值之后,如果包含这个对象的方法立马就结束了,那么这个对象就会被自动释放,但是我们本身根本还没有用到它,所以就形成了一个死存储代码,这个赋值语句其实也

[转载] 像 IDE 一样使用 vim

原文: https://github.com/yangyangwithgnu/use_vim_as_ide 看了这篇文章要是再不会用vim就不能怪我了. 所需即所获:像 IDE 一样使用 vim [email protected]2015-02-15 13:30:59 谢谢 捐赠:支付宝 [email protected] .支付宝链接https://shenghuo.alipay.com/send/payment/[email protected] ,支付宝二维码 $_$ 二手书:书,我提高开