以rtklib为例——介绍在ubuntu下clion调试已写好的源码

linux下一般都用gcc(编译)+gdb(调试)+vim(编辑),向我这种弱鸡用IDE(Integrated Development Environment)集成开发环境clion

在clion下调试代码,需要编辑CMakeLists.txt文件,用CMakeLists.txt文件中的CMake命令自动生成makefile文件,然后执行makefile文件中的make命令对已有的源文件进行管理运行操作。

新建项目后会自动生成CMakeLists.txt文件,我们把已有的rtklib代码复制到新建项目的目录下面,把rtklib的main.c文件的内容替换掉新建项目自带的main.c文件的内容。

然后编辑CMakeLists.txt文件:


cmake_minimum_required(VERSION 3.15) /* 指定CMake的最小版本要求(自动生成)*/
project(RTKLIB C)                    /* 项目名称(指定工程支持C语言) */
/*  向工程添加特定的头文件搜索路径  */
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)   /*先指明库的文件位置,.h文件的路径(把.h文件放在include下即可)*/

FILE(GLOB SRC_FILES "src/*.c" "src/rcv/*.c")         /*将当前项目中可执行文件.h .c* .rc 文件列举出, 存放到一个临时变量(声明一个变量SRC_FILES,把.c的源文件赋给SRC_FILES)*/
/*   生成库文件  */
ADD_LIBRARY(RTK_LIB ${SRC_FILES})                    /*添加到库RTK_LIB*/
TARGET_LINK_LIBRARIES(RTK_LIB blas lapack z)

SET_TARGET_PROPERTIES(RTK_LIB PROPERTIES ARCHIVE_OUTPUT_DIRECTORY
        ${PROJECT_SOURCE_DIR}/lib)
/*  显示的定义变量  */
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY
        ${PROJECT_SOURCE_DIR}/bin)                   /* 结果输出路径(bin文件下)*/
/*  生成可执行文件  */
ADD_EXECUTABLE(rtkpost main.c)                       /* rtkpost:工程名称,将main.c文件添加到项目中*/
TARGET_LINK_LIBRARIES(rtkpost RTK_LIB)               /* 将临时变量RTK_LIB链接到工程中*/
TARGET_LINK_LIBRARIES(rtkpost m)                     /* 将库链接到项目中,注意这个链接一般在cmake文件末尾部分给出(链接数学库)*/




然后配置好配置文件:


最后就可以运行了


注:修改CMakeList.txt文件之后,记得重新加载一下



 
原文地址:https://www.cnblogs.com/y-z-h/p/13785320.html