2017-04-21 513 views
0

我试图在mac中使用eigen。 我安装它后,我从它的主要PAGE电泳代码运行演示如下:致命错误:未找到'eigen3/Eigen/Dense'文件

#include <iostream> 
#include <eigen3/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; 
} 

我写在终端下面的代码:

g++ -I usr/local/include/eigen3/Eigen/ aaa.cpp -o aaa 

事实证明,这样的:

aaa.cpp:2:10: fatal error: 'eigen3/Eigen/Dense' file not found 

但是我可以在Xcode中完美运行此代码。 谁可以帮我解决它?

回答

0

更改您的包括线

#include <Eigen/Dense> 

#include <Eigen/Core> 

和你的命令行

g++ -I /usr/local/include/eigen3 aaa.cpp -o aaa 

我还建议将至少-O1到命令行,一旦因为你用超过几条指令编译任何代码。

+0

非常感谢您的帮助。您的方式可以很好地解决问题。您能否告诉我“在我的命令行中添加至少-O1”的含义是什么? – moira

+0

将您的命令行命令更改为'g ++ -I/usr/local/include/eigen3 aaa.cpp -o aaa -O1'(或'-O2'而不是'-O1')。这对于非平凡的程序来说会产生巨大的性能差异。 – chtz