首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在eclipse中使用Eigen3,无法将其编译

在eclipse中使用Eigen3,无法将其编译
EN

Stack Overflow用户
提问于 2013-06-01 01:35:33
回答 1查看 3.3K关注 0票数 0

我下载了最新版本,并按照其自述文件中的说明执行了method2:

代码语言:javascript
运行
AI代码解释
复制
Method 1. Installing without using CMake
****************************************

You can use right away the headers in the Eigen/ subdirectory. In order
to install, just copy this Eigen/ subdirectory to your favorite location.
If you also want the unsupported features, copy the unsupported/
subdirectory too.

Method 2. Installing using CMake
********************************

Let's call this directory 'source_dir' (where this INSTALL file is).
Before starting, create another directory which we will call 'build_dir'.

Do:

  cd build_dir
  cmake source_dir
  make install

终端显示它已正确安装,并且从eclipse include文件夹中可以看到它安装在usr/local/include中,

但是当我在eclipse中编译下面的测试程序时,我得到了这样的结果:

代码语言:javascript
运行
AI代码解释
复制
#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;
}

请帮帮我,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-01 03:37:03

这说明了一些Eigen安装的一个问题:头文件放在include文件夹中名为"eigen3“的子目录中,这意味着您的include语句必须是:

代码语言:javascript
运行
AI代码解释
复制
#include <eigen3/Eigen/Dense>

这是不推荐的,但可以工作。

相反,您应该(1)将eigen3文件夹添加到include路径中,然后在代码中将include语句保留为#include <Eigen/Dense>

或者,您可以(2)将eigen3中的Eigen文件夹上移一级,或(3)将Eigen文件夹移动到其他位置并正确设置包含路径。在任何一种情况下,您的代码都将包含#include <Eigen/Dense>

上面的#1是推荐的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16868216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档