Linux16.04 LTS 环境下将cmake的项目转换成eclipse可导入可调试的工程项目
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 ..
会出现如下提示

会有CMake Warning 提示说在build文件夹下生成的eclipse项目在eclipse中不能得到很好的支持。事实证明这样生成的eclipse项目不能在eclipse中运行
所以不在build文件夹下进行编译 , 执行如下命令:
cd project/
cmake -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug .
编译结果如下:

可以看到没有CMake Warning 了 ,导入到eclipse中可以编译,可以运行程序,并且可以调试程序。
Linux16.04 LTS 环境下将cmake的项目转换成eclipse可导入可调试的工程项目的更多相关文章
- Unbuntu 18.04 LTS 环境下Python安装GDAL组件
Unbuntu 18.04 LTS 环境下Python安装GDAL组件 // 非必要 sudo add-apt-repository ppa:ubuntugis/ppa sudo apt-get up ...
- ubuntu14.04英文环境下安装中文输入法
ubuntu14.04英文环境下安装中文输入法 发表于1年前(2014-07-12 20:12) 阅读(4478) | 评论(0) 3人收藏此文章, 我要收藏 赞1 9月19日成都 OSC 源创会 ...
- ubuntu16.04 ROS环境下配置和运行SVO
ubuntu16.04 ROS环境下配置和运行SVO https://blog.csdn.net/nnUyi/article/details/78005552
- 【简书】在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目
在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目 作者 DonnieZero 关注 2017.07.29 22:02* 字数 2218 阅读 5556评论 3喜欢 1赞赏 1 ...
- 怎么将linux下的项目转换成windows的VS2010下的项目?
怎么将linux下的项目转换成windows的VS2010下的项目? 不显示删除回复 显示所有回复 显示星级回复 ...
- Linux下将UTF8编码批量转换成GB2312编码的方法
Linux下将UTF8编码批量转换成GB2312编码的方法 在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换成GB2312编码,下面为大家介绍下在Linux ...
- 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具
目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.z ...
- 基于Gulp + Browserify构建es6环境下的自动化前端项目
随着React.Angular2.Redux等前沿的前端框架越来越流行,使用webpack.gulp等工具构建前端自动化项目也随之变得越来越重要.鉴于目前业界普遍更流行使用webpack来构建es6( ...
- Android studio 安装已经下载好的gradle.zip文件【ubuntu 14.04 LTS环境】
一 下载 gradle-3.3-all.zip 包 http://download.csdn.net/detail/t6546545/9732412 http://www.fxxz.com/soft/ ...
随机推荐
- x-pack-5.6.10激活教程
x-pack-5.6.10激活教程 简介 X-Pack 已经作为 Elastic 公司单独的产品线,前身是 Shield, Watcher, Marvel, Graph, 和 reporting,先来 ...
- java --Integer 学习
本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 在网上看到一个面试题,没有完全做, 本代码基于JDK8 //下面代码运行结果是 public class ...
- centos 7 linux系统默认ftp安装配置和部署(详细讲解)
小生接触 Linux 系统时间不长,想解决linux系统ftp安装及部署问题,折腾了大半天,终于弄出来了,将各路高手的配置方法综合了一下,如有不对之处,欢迎各位看客指正,感谢! 一.声明: 本文采用操 ...
- 【原创】空中鼠标一DMP欧拉角
正在搞六轴传感器,今天移植了MPU6050的MothionDriver的DMP固件到STM32上了,能够稳定地输出欧拉角(也就是俯仰角.航向角.横滚角)和XYZ三轴加速度值,在电脑的上位机模拟了装置的 ...
- 字符串不相同出现相同HashCode(算法)
转自:https://blog.csdn.net/fly_grass_fish/article/details/81742794 在Java中有HashCode的说法,以前以为HashCode是唯一的 ...
- datatables 配套bootstrap样式使用小结(2) ajax篇
距离上一篇有点时间了,周末做了伴郎参加了一个土豪同学的婚礼. 上一篇是介绍一下基本的用法,基本的原理是取出所有的数据,然后调用$.datatables(option)方法格式化,这种方法显然不太科学, ...
- Perl导入代码文件
从函数复用开始:eval和do执行perl文件 当我们定义了一个功能比较通用的子程序,比如获取数值的绝对值.想要到处使用这个子程序,就得不断复制.粘贴这段绝对值函数的定义文本.显然,这是不太理想的方式 ...
- 翻译:SET子句(已提交到MariaDB官方手册)
本文为mariadb官方手册:SET的译文. 原文:https://mariadb.com/kb/en/set/我提交到MariaDB官方手册的译文:https://mariadb.com/kb/zh ...
- C# 委托 事件
一:什么叫委托 通过反射发现,委托其实是一个类,继承自System.MulticastDelegate,但是System.MulticastDelegate这个类是特殊类,不能被继承 二:委托的声明 ...
- 【转载】 Sqlserver查看数据库死锁的SQL语句
在Sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用SQL语句来查询数据库死锁情况,主要通过系统数据库Master数据库来查 ...