【Eigen教程】介绍和安装(一)

b670df9a9e12ca2b17fb16f8dd372ec5.png

关于 Eigen

Eigen 是一个纯头文件库,这意味着所有内容都在 .hpp 文件中。Eigen 使用表达式模板技术实现,它在编译时构建结构,仅在需要时评估表达式。这意味着它在编译时构建表达式树并生成自定义代码来评估它们。这种技术使程序员能够绕过 C++ 中的正常表达式评估顺序,并实现循环融合和循环展开等优化。

安装

在基于 Debian 的操作系统上,安装非常简单:

sudo apt-get install libeigen3-dev

或者如果你想从源代码构建它,只需克隆它:

git clone https://gitlab.com/libeigen/eigen.git

创建构建目录:

cd eigen
mkdir build 
cd build

现在构建并安装它,

cmake -DCMAKE_CXX_FLAGS=-std=c++1z -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=~/usr .. && make -j8 all install

请注意,我设置了:

-DCMAKE_INSTALL_PREFIX:PATH=~/usr

这样,Eigen 将安装在 home/<用户名称>/usr 中,而不是在 /usr 中,因此不需要 root 权限。

将 Eigen 添加到你的项目

现在,在你的 CMake 文件中你必须设置 Eigen3_DIR

# 设置 Eigen3 的 CMake 路径set(Eigen3_DIR "$ENV{HOME}/usr/share/eigen3/cmake")# 这行代码设置了 Eigen3 库的 CMake 路径,路径指向用户主目录下的 `usr/share/eigen3/cmake` 目录。
# 查找 Eigen3 库find_package (Eigen3 REQUIRED NO_MODULE)# 这行代码用于查找 Eigen3 库。`REQUIRED` 表示如果找不到 Eigen3 库,CMake 会报错并停止构建。`NO_MODULE` 表示不使用 CMake 的模块模式。
# 输出 Eigen3 是否找到的信息MESSAGE("EIGEN3_FOUND: " ${EIGEN3_FOUND})# 这行代码输出 Eigen3 是否被找到的信息。`EIGEN3_FOUND` 是一个布尔变量,表示 Eigen3 是否被成功找到。
# 输出 Eigen3 的头文件目录MESSAGE("EIGEN3_INCLUDE_DIR: " ${EIGEN3_INCLUDE_DIR})# 这行代码输出 Eigen3 的头文件目录路径。`EIGEN3_INCLUDE_DIR` 是 Eigen3 头文件所在的目录。
# 输出 Eigen3 的版本号MESSAGE("EIGEN3_VERSION: " ${EIGEN3_VERSION})# 这行代码输出 Eigen3 的版本号。`EIGEN3_VERSION` 是 Eigen3 的版本号变量。
# 输出 Eigen3 的版本字符串MESSAGE("EIGEN3_VERSION_STRING: " ${EIGEN3_VERSION_STRING})# 这行代码输出 Eigen3 的版本字符串。`EIGEN3_VERSION_STRING` 是 Eigen3 的版本字符串变量。
# 添加可执行文件add_executable (example example.cpp)# 这行代码定义了一个名为 `example` 的可执行文件,其源文件为 `example.cpp`。
# 将 Eigen3 库链接到可执行文件target_link_libraries (example Eigen3::Eigen)# 这行代码将 Eigen3 库链接到 `example` 可执行文件中。`Eigen3::Eigen` 是 Eigen3 库的 CMake 目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值