Linux16.04 LTS 环境下将cmake的项目转换成eclipse可导入可调试的工程项目

时间:2020-12-16 15:31:54

Linux作为一个开源系统,其中的一个优势就是有效的将各种源码编译得到的库集合在一起,为项目的使用创建了便捷。通常情况下,我们在开发自己的开源项目时,喜欢使用cmake调用各种三方库,如opencv , pcl , g2o等,里已有的函数辅助自己的程序开发,目前主流的方法是在项目中写CMakeLIsts.txt文件,采用cmake命令将三方库的动态库链接到项目中,这种方法省去了在IDE中繁杂的环境配置问题。

已经写好的项目的目录结构一般的如下所示:

project----------------bin文件夹          用于存放生成的可执行文件

|---------------build文件夹        用于存放编译,链接过程生成的文件

|---------------Include文件夹    用于存放项目源码的头文件

|---------------src文件夹           用于存放项目的.cpp文件

|---------------lib文件夹            用于存放项目的.so文件

|---------------CMakeLIsts.txt   由于cmake的文件

我们已经了解了cmake项目的目录结构,一般的执行

cd build/

cmake ..

make

就可以在bin文件夹下生成项目的可执行文件。但是在linux系统下调试就遇到了问题,如果没有IDE,那么就只能用linux系统自带的调试器调试了,个人感觉可视性不算太好。所以打算将cmake项目导入到eclipse中可调试。具体转换命令见博客https://blog.csdn.net/wohuiluanshuo/article/details/49205221 , 如果生成可调试的eclipse项目的话,在编写CMakeLIsts.txt时,应加上

set(CMAKE_BUILD_TYPE Debug)

按照博客的方法 ,如果执行

cd build/

cmake -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug ..

会出现如下提示

Linux16.04 LTS 环境下将cmake的项目转换成eclipse可导入可调试的工程项目

会有CMake Warning 提示说在build文件夹下生成的eclipse项目在eclipse中不能得到很好的支持。事实证明这样生成的eclipse项目不能在eclipse中运行

所以不在build文件夹下进行编译 , 执行如下命令:

cd project/

cmake -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug .

编译结果如下:

Linux16.04 LTS 环境下将cmake的项目转换成eclipse可导入可调试的工程项目

可以看到没有CMake Warning 了 ,导入到eclipse中可以编译,可以运行程序,并且可以调试程序。