最近在学习slam,在笔记本上安装了ubuntu14.04,同时更新了cmake版本到3.2,此外还安装了常用的矩阵运算库eigen
特记录一下,在linux系统进行C++编程的过程(开始学习新系统,确实有很多的不熟悉)
在一个文件夹目录下(./test)建立eigenMatrix.cpp
在里面输入
----------------
#include <iostream>
#include <Eigen/Core>
#include <Eigen/Dense>
int main(int argc,char **argv)
{
//输入一些常规的eigen操作命令,例如
Eigen::Matrix<float,2,2> matrix_22;
matrix_22<<1.0,2.2,3.0,4.0;
std::cout<<matrix_22<<std::endl;
return 0;
}
-----------------
制作好cpp文件后,可以制作CMakeLists.txt文件(注意,名字不能更改!)
在里面输入
-----------------
cmake_minimum_required(VERSION 3.2) //camke的最低版本
project(eigenTest) //工程名,可以随意取
include_directories("/usr/include/eigen3") //包含eigen的头文件(注意路径)
add_executable(eigenMatrix eigenMatrix.cpp) /添加需要处理的cpp文件(注意格式)
-----------------
下一步可以创建一个子目录(将分析和编译的文件放在一起便于管理)
sudo mkdir build //创建一个子目录
cd build //使终端进入到子目录中
-----------------
开始分析.cpp文件
sudo cmake .. //特别注意 ‘.. ‘ (两个点表示上一级目录,一个点表示当前目录!)
没有错误后,就可以进行编译了(有问题,需要看错误信息,或者log文件)
sudo make //不需要点号
没有错误后,可以执行编译好的程序了,测试结果可以立即显示
./eigenMatrix //注意格式和文件名称!
-----------------
一般容易出错的地方是,
当然前提是环境的配置要正确(cmake + eigen)
1.代码书写有误
2.eigen头文件目录有误(默认安装,一般不会出现问题)
3.CMakeLists.txt文件名有误,以及里面的代码格式有误
4.cmake编程语法有误
5.对linux系统的文件处理命令使用有误,以及文件路径使用不当