背景:想在ubuntu中实现las2pcd,总是告诉我内存不够,关键我设置的内存是16G的,读个1M的数据都读不出来。直觉告诉我是Cmake的问题,对ubuntu中的文件系统不了解,因此在这里记录ubuntu中cmake的使用。
cmake的作用:实现跨平台编译。 如何实现:允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件
使用 CMake 生成 Makefile 并编译的流程:
- 编写 CMake 配置文件 CMakeLists.txt 。
- 执行命令
cmake PATH
或者ccmake PATH
生成 Makefile 1
1ccmake
和cmake
的区别在于前者提供了一个交互式的界面。
。其中, PATH 是 CMakeLists.txt 所在的目录。 - 使用
make
命令进行编译。
一般我习惯的流程是:
cd myfile
mkdir build
cd build
cmake ..
make
这里主要关注CMakeList.txt如何编写:
命令基本语法:
- 命令不分大小写
- 参数之间用空格间隔。
- 注释用#开头
CMakeList.txt中必须的命令语句:
#cmake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
#项目信息
project (ProjectName)
#指定生成目标
add_executable (ProjectName, main.cc)
以上内容适合于单个源文件
reference: hahack–cmake入门实战