如何使用Eigen Library编译C ++文件?

时间:2017-02-11 22:57:29

标签: c++ compilation static-libraries

我正在关注这个 Eigen: Getting Started尝试使用Eigen Library编译我的C ++文件,但是我遇到了一堆错误。我当前的目录包含我的main.cppnetwork.h和Eigen Library,它包含一个名为Eigen的目录和一堆其他文件夹。该指南说只是放入包含头文件的文件夹的路径。我正在使用 要编译g++ -I eigenLibrary/Eigen main.cpp -o network,但我不断收到错误fatal error: 'Eigen/Dense' file not found #include <Eigen/Dense>。 我正在尝试实现此tutorial中的代码  。我怎样才能确保以正确的格式链接库。我对C ++没什么经验

编辑: 我已经尝试将Eigen子目录复制到/usr/local/include并运行 g++ -I /usr/local/include/Eigen/Dense main.cpp -o main没有成功。

3 个答案:

答案 0 :(得分:2)

请包括以下特征库路径:

g++ -std=c++11 -I /usr/include/eigen3/ fileName.cpp

答案 1 :(得分:0)

在命令行中尝试-I eigenLibrary而不是-I eigenLibrary / Eigen

答案 2 :(得分:0)

Eigen3 标头默认安装在 /usr/include/eigen3 目录下 使用 Eigen3 编译程序

  1. 可以使用@Arjun Kumar建议的解决方案

  2. 为了省去每次编译时的繁琐打字,可以在/usr/local/include里面加一个符号链接指向/user/include/eigen3

    sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen
    

然后编译没有任何标志的程序,例如:

    g++ -std=c++11  fileName.cpp