pcl 1.8.0(2) eigen 编译

2 篇文章 0 订阅

在上面的一篇博客中讲述了boost_1_60_0的编译,现在要讲述的是Eigen库的编译和配置。

  1. CMake生成sln工程文件
    这个比较简单,打开CMake,source code选择你下载的eigen文件夹(这里是C:\eigen3.2.8),build 目录选择eigen目录下的build(这里是C:\eigen3.2.8\build),注意这个build文件夹一开始是没有的,需要你自己新建build文件夹。工程的新建如下图所示:
    这里写图片描述
    工程建立好之后,点击Configure,如果没有错误,会在下面的框提示Configure Done,注意这里千万不要急着点Generate ,因为我们还需要很重要的一步,就是修改下图红色区域中的CMAKE_INSTALL_PREFIX 选项的值,默认为C:\Program Files (x86)\Eigen,修改为你的Eigen的文件所在位置(这里是C:\eigen3.2.8),如果没有修改的话,我们会在后面的INSTALL后面出错,CMAKE_INSTALL_PREFIX 表示安装的路径,如下图所示是修改后的工程。
    这里写图片描述
    修改完之后,再点击一下Configure,然后再Generate ,这个时候会在C:\eigen3.2.8\build文件夹里面生成Eigen.sln工程文件。
  2. vs 2013 编译 Eigen.sln
    利用管理权限打开vs 2013 ,打开Eigen.sln文件,这个稍等一下,因为加载include文件比较多,所以会需要花一点时间等待下,我大概等了1分钟左右的样子,才完全加载完文件。如果不等加载完,可能会出现不可预知的错误。加载完之后,我们右键ALL_BUILD,build一下,这样ALL_BUILD这个工程就生成了。
    生成之后,我们再利用同样的方法生产INSTALL,如果成功的话会有和我一样的信息提示,如下所示:
    这里写图片描述
  3. 环境变量设置
    上述完成之后不代表Eigen库已经配置完成了,我们还要对环境变量进行设置,新建EIGEN_ROOT环境变量,值设置为eigen文件夹地址(这里是C:\eigen3.2.8).
    这样,eigen的库就配置完成了,我们肯定会疑惑,我们到底有没有配置成功呢,我们所以需要验证一下到底有没有成功。
  4. 验证eigen有没有成功
    利用vs 2013新建一个控制台程序,空的或者预编译头的程序都可以,VC++目录—>包含目录添加eigen的文件夹(这里是C:\eigen3.2.8),如下图所示:
    这里写图片描述
    然后添加如下代码:
#include "stdafx.h"
#include <iostream>  
#include <Eigen/Dense>  
using namespace Eigen;
int _tmain(int argc, _TCHAR* argv[])
{
    MatrixXd m(2, 2);
    m(0, 0) = 3;
    m(1, 0) = 2.5;
    m(0, 1) = -1;
    m(1, 1) = m(1, 0) + m(0, 1);
    std::cout << "Here is the matrix m:\n" << m << std::endl;
    VectorXd v(2);
    v(0) = 4;
    v(1) = v(0) - 1;
    std::cout << "Here is the vector v:\n" << v << std::endl;
    return 0;
}

Ctrl+F5,运行成功的话会出现下面的输出结果:

Here is the matrix m:
  3  -1
2.5 1.5
Here is the vector v:
4
3

这样的话我们Eigen的库就配置成功了。
在下面一篇博客我会写一下我遇到的用Eigen库中出现的问题,最主要的是错误提示是关于Eigen数据结构和C++内存对其问题。虽然这部分Eigen在自己的网站已经贴出解决的方案,但是由于我遇到了这类问题并且解决了,所以在这里希望对英文比较吃力的同学有帮助。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值