clion 支持跳转配置

clion 是最好用的c语言编辑器



正常情况下导入工程后就能自动创建索引,支持跳转,如果创建索引失败,可以重新导入:
第一步删 rm -rf .idea



第二步,删cmakelist



第三步,import即可
在Run/Edit Configurations里修改Working directory为当前代码的根目录

CMakeLists.txt 报错,找不到对应的.c文件,注释掉.h文件即可
add_executable(c
4.4BSD-Lite2/sys/i386/floppy/mv/mv.c
4.4BSD-Lite2/sys/i386/floppy/rm/rm.c
#4.4BSD-Lite2/sys/i386/floppy/sh/shell.h



接着会重新建立索引


C 语言项目的目录结构
以下例子基本涵盖了一个 C 语言大型项目所能用到的所有目录了:
. # 项目根目录
|__CMakeLists.txt # CMake 主配置文件
|
test # 测试用例目录
| |
CMakeLists.txt # 测试模块配置文件
| |
test.c
|
out # 输出目录
|
include # 头文件 *.h 目录
| |
util # header 子目录
| |
xxx
|
lib # lib 放置目录
|
build # 构建目录
|
src # 源码 *.c 目录
| |
CMakeLists.txt # 源码模块配置文件
| |
util # 源码子目录
| |
__xxx
使用 CMake 构建项目
在 CLion 中如果没有配置好 CMake,CLion 的大部分功能都用不了,所以使用 CLion 做开发,配置 CMake 是关键。



CMake 主配置文件
cmake_minimum_required(VERSION 3.9)



项目名


project(XXX)



set(CMAKE_C_STANDARD 99)



把 src 作为子 module


add_subdirectory(src)
源码模块配置文件


PROJECT_SOURCE_DIR 是 CMake 定义的宏,指向项目根目录


include_directories(“${PROJECT_SOURCE_DIR}/include/util”) # Util *.h includes



把 util 子目录编译成 library,最终会生成 libutil.a 文件


aux_source_directory(./util UTIL_SRC)
add_library(util ${UTIL_SRC})
测试用例目录
include_directories(“${PROJECT_SOURCE_DIR}/include/util”) # Util *.h includes



生成可执行文件 test


add_executable(test test.c)


添加链接库 util 等


target_link_libraries(test util)
配置完成后,重新 Load 一下项目,在 Run Configurations 中便能看到我们的 test 程序了。 无论是代码跳转还是 Run 和 Debug 就也都能使用了。开发 Android 项目的感觉全都回来了。



当然,也可以在命令行中使用如下操作来编译:
cd build


在 build 目录下编译整个项目是一个好习惯,否则所产生的 Makefile 文件会充斥在你的源代码中


cmake ../
make


Category web