Eigen库使用

曾伟 2024-07-29

简介:工作需要使用C++来写深度学习,又不巧设备不支持libtorch,所以计划借助Eigen库来实现。

Eigen入门

在Linux系统上安装:

sudo apt-get install libeigen3-dev

运行官方文档的第一个例子:

#include <iostream>
#include <Eigen/Dense>
 
using Eigen::MatrixXd;
 
int main()
{
  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 << m << std::endl;
}

写一个CMakeLists.txt,使用CMake编译:

# 指定CMake的最低版本
cmake_minimum_required(VERSION 3.10)

# 项目名称和语言
project(MyProject VERSION 1.0 LANGUAGES CXX)

# 设置C++标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# 添加一个可执行文件
add_executable(hello src/hello.cpp)

# 寻找Eigen库,如果Eigen库不是标准安装路径,可能需要设置 EIGEN3_INCLUDE_DIR
find_package(Eigen3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIR})

# 包含Eigen头文件目录
target_include_directories(hello PRIVATE ${EIGEN3_INCLUDE_DIR})

# 如果需要,链接其他库
# target_link_libraries(hello PRIVATE other_libraries)