1、在qt下创建slam项目-hello slam
来源:互联网 发布:steam网络无法连接 编辑:程序博客网 时间:2024/06/14 00:34
(在做高博的“一起做RGB-D_SLAM”的一些问题,作为自己笔记总结,以督促自己完成并理解)
在qt下创建slam项目-hello slam:
需要在slam目录下准备好三个文件:
1、CMakeLists.txt;
2、src/CMakeLists.txt;
3、src/hello.cpp;
详细:
1、主目录下的CMakeLists.txt
CMAKE_MINIMUM_REQUIRED( VERSION 2.8.1 ) #注意这里的CMake版本PROJECT(slam) #工程名字#SET(CMAKE_CXX_COMPILER "g++") #设定编译器SET( CMAKE_BUILD_TYPE Debug ) #编译类型SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #将执行二进制文件输出到bin文件夹中SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) #生成的库输出到lib文件夹中INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/include ) #头文件放在include文件夹中ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/src ) #增加子文件,也就是进入源码文件夹中继续构建
2、src/CMakeLists.txt
(这个是参考另一个博客来的)
CMAKE_MINIMUM_REQUIRED( VERSION 2.8.1 ) #版本号,与上一个对应的PROJECT( slam ) #工程名set(CMAKE_CXX_FLAGS "-std=c++11 ")add_executable(hello hello.cpp) #生成可执行文件1
高博的教程里面是(就一行)(不是太明白,就跟高博保持一致,就用的这个)
# 增加一个可执行的二进制ADD_EXECUTABLE( main main.cpp )
以及后面两个cpp文件时:
# 增加一个可执行的二进制ADD_EXECUTABLE( main main.cpp )# 增加PCL库的依赖FIND_PACKAGE( PCL REQUIRED )list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4") # use this in Ubuntu 16.04# 增加opencv的依赖FIND_PACKAGE( OpenCV REQUIRED )# 添加头文件和库文件ADD_DEFINITIONS( ${PCL_DEFINITIONS} )INCLUDE_DIRECTORIES( ${PCL_INCLUDE_DIRS} )LINK_LIBRARIES( ${PCL_LIBRARY_DIRS} )ADD_EXECUTABLE( generate_pointcloud generatePointCloud.cpp )TARGET_LINK_LIBRARIES( generate_pointcloud ${OpenCV_LIBS} ${PCL_LIBRARIES} )
3、src/hello.cpp
#include <iostream>int main(int argc, char** argv){ std::cout<<"hello slam"<<std::endl; return 0;}
然后就是把这个slam包导入qt了:打开qt -> open project -> 选择该项目的src/CMakeLists.txt,就ok了。
添加新的cpp文件
先在src/CMakeLists.txt下添加“生成可执行文件”
add_executable(generatePointCloud generatePointCloud.cpp) #生成可执行文件2
再在qt里面,右上角,选File -> new file or project -> c++ ->c++ source file 输入name:” generatePointCloud.cpp “
一个路径问题
是我的第2个从图像到点云遇到的问题
(后面采用高博的src/CMakeLists.txt原文件,没这个问题,可以不用看)
如果在编译时,出现找不到pcl路径,一般是改为直接路径,但这里问题在于,改完后发现,该路径里包含的其他文件路径也不对,但都是pcl 库的。
所以在 按照《CMake Practice》中第六章的设置,采用INCLUDE_DIRECTORIES命令去寻找共享库的路径,src/CMakeLists.txt如下:
include_directories(/usr/include/pcl-1.7)
就可以啦
(有时候寻找库文件搜索,需要先进入一定路径下才行,一般在usr/include/下)
- 1、在qt下创建slam项目-hello slam
- [SLAM项目]
- SLAM系列之1 - ORB SLAM
- SLAM
- slam
- SLAM
- SLAM
- SLAM
- SLAM
- slam(1)
- ORB SLAM在Ubuntu14.04下环境配置
- ORB SLAM在Ubuntu14.04下环境配置
- SLAM实践(1)
- SLAM拾萃(1):octomap
- SLAM--basic knowledge 1
- SLAM拾萃(1):octomap
- SLAM拾萃(1):octomap
- SLAM学习小结(1)
- 网易2018校园招聘:合唱 [python]
- 判断能否构成三角形(异常处理)
- Construct 2再次探索
- Java 异常处理的误区和经验总结
- poj1088 滑雪
- 1、在qt下创建slam项目-hello slam
- java线程之Executor框架与线程池
- captain and crew
- 网易2018校园招聘:字符串碎片 [python]
- 前方核能预警,非战斗人员迅速撤离
- ubuntu install smartgit
- 函数指针数组和回调函数的使用实例(qsort)
- 网易2018校园招聘:射击游戏 [python]
- Spring 4.x vs Spring 5.x