2017-04-21 32 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