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;
}