Eigen库学习笔记(六)cmake调用Eigen

Eigen库学习笔记(六)cmake调用Eigen

1、编译Eigen

因为Eigen库是基于模板实现的,使用的是源码,编译并不会生成动态库或静态库。
编译的目的是为了生成可以使用的包。
主要是生成这几个文件
在这里插入图片描述

2、cmake 引用Eigen库

对于Eigen库的使用,可以使用set指定到 share/eigen3/cmake目录,也可以在cmake-gui中指定到这个路径。

cmake_minimum_required(VERSION 3.3)

PROJECT(eigen_test)
#set(Eigen3_DIR D:/ProgramFiles/Eigen3/share/eigen3/cmake)

find_package(Eigen3 REQUIRED)

INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR})
add_executable(eigen_test eigen_test.cpp)

测试程序:


#include<Eigen/Core>
#include<iostream>
using namespace std;
using namespace Eigen;
 
int main()
{
 
    MatrixXd::Index maxRow, maxCol;
	MatrixXd::Index minRow, minCol;
	MatrixXd mMat(4,4);
	mMat << 11, 10, 13, 15,
			3, 24, 56,	1,
			2, 12, 45,	0,
			8, 5,	6,	4;
	double min = mMat.minCoeff(&minRow,&minCol);
	double max = mMat.maxCoeff(&maxRow,&maxCol);
	cout << "Max = \n" << max << endl;
	cout << "Min = \n" << min << endl;
	cout << "minRow = " << minRow << "minCol = " <<minCol<<endl;
	cout << "maxRow = " << maxRow << "maxCol = " << maxCol << endl;
    return 0;
}

版权声明:本文为juluwangriyue原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。