文件结构
.
├── CMakeLists.txt
├── main.cpp
├── makefile
└── testEigen
├── testEigen.cpp
└── testEigen.h
预准备
// 使用linux系统或者windows的wsl子系统运行
// 获取g++,eigen库等工具
sudo apt install g++ libeigen3-dev
main.cpp
#include "testEigen.h"
int main()
{
testEigen();
return 0;
}
teseEigen.cpp
#include "testEigen.h"
#include <iostream>
#include <Eigen/Eigen>
using namespace std;
using namespace Eigen;
void testEigen() {
Matrix3f m;
m << 1, 2, 3,
4, 5, 6,
7, 8, 9;
cout << m << endl;
}
testEigen.h
#pragma once
void testEigen();
CMakeLists.txt
# cmake最低版本要求
cmake_minimum_required(VERSION 3.0)
# 项目名称
project(HelloEigen)
# 添加静态库
add_library(testEigen STATIC testEigen/testEigen.cpp)
# 静态库testEigen的依赖的eigen头文件
target_include_directories(testEigen PRIVATE "/usr/include/eigen3")
# 添加可执行文件helloEigen
add_executable(helloEigen main.cpp)
# 该可执行文件的依赖头文件
target_include_directories(helloEigen PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/testEigen)
# 该可执行文件调用的静态库
target_link_libraries(helloEigen testEigen)