【Eigen】VS2012配置Eigen

1、首先,Eigen官网(http://eigen.tuxfamily.org/index.php?title=Main_Page)下载Eigen:

【Eigen】VS2012配置Eigen_第1张图片

2、然后,解压文件,解压完成后重命名为eigen3,接着把这个eigen3文件夹整个复制到你想放置的位置,也可不移动。

【Eigen】VS2012配置Eigen_第2张图片

3、接着,打开VS2012,新建一个项目,然后选择”项目”—>”属性” 打开工程的属性页。

【Eigen】VS2012配置Eigen_第3张图片

4、选择”C/C++” —>”常规”,在”附加包含目录”里加入eigen3文件夹的路径。

对于一些第三方的SDK,一般会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll)。为了提高程序的可移植性,建议将第三方库放在解决方案(*.sln)或者(*.vcproj)文件所在的文件夹下,而不要放在其他位置。

1) 绝对路径

我这里使用的绝对路径为"F:\opencv_code_vs2012\testEigenVS2012\testEigenVS2012\eigen3",如果程序在别的电脑上面可能就又要配置下才能运行了。

【Eigen】VS2012配置Eigen_第4张图片

2) 相对路径

这里相对路径是对工程文件(*.vcxproj)而言的。我的工程名为:testEigenVS2012,路径为:F:\opencv_code_vs2012\testEigenVS2012\testEigenVS2012\testEigenVS2012.vcxproj,第三方库文件夹,名为:eigen3,则第三方库包含路径为:.\eigen3。其中".\"表示和工程文件(*.vcxproj)在同一级目录,若是两个点"..\"则表示在工程(*.vcxproj)的上一级目录。如果要返回多级目录,重复使用双点"..\",表示为..\..\

【Eigen】VS2012配置Eigen_第5张图片

5、最后,写个小程序测试下eigen配置是否成功。

#include 
#include 

using namespace std;
using namespace Eigen;

int main(int argc, char *argv[])
{

	Matrix2d a;
	a << 1,2,
		 3,4;
	MatrixXd b(2,2);
	b << 2,2,
		 2,2;

	cout << "a + b = \n" << a + b << endl;
	cout << "a - b = \n" << a - b << endl;
	cout << "Doing a += b;" << endl;
    a += b;
    cout << "Now a = \n" << a << endl;
    cout << "a^T =  " << a.transpose() << endl;
    cout << "a*b = \n " << a*b << endl;

	Vector3d v(1, 2, 3);
    Vector3d w(1, 0, 0);
    cout << "-v + w - v =\n" << -v + w - v << endl;
    cout << v << endl;
    cout << v.transpose() << endl;

	system("PAUSE");

	return 0;
}

6、结果

【Eigen】VS2012配置Eigen_第6张图片


附:Eigen的使用方法可参考: Eigen基础 (http://blog.csdn.net/column/details/14470.html)

你可能感兴趣的:(【Eigen】VS2012配置Eigen)