[英]In C++'s Eigen library, how do I solve: invalid use of incomplete type ‘const class Eigen::MatrixSquareRootReturnValue<Eigen::Matrix<float, -1, -1> >’
[英]How do I compile C++ file using the Eigen Library?
我目前正在关注这个Eigen: Getting Started以尝试使用 Eigen 库编译我的 C++ 文件,但我遇到了一堆错误。 我的当前目录包含我的main.cpp
、 network.h
和 Eigen 库,其中包含一个名为 Eigen 的目录和一堆其他文件夹。 该指南说只需放入包含头文件的文件夹路径。 我目前正在使用g++ -I eigenLibrary/Eigen main.cpp -o network
进行编译,但我不断收到错误fatal error: 'Eigen/Dense' file not found #include <Eigen/Dense>
。 我正在尝试实现本教程中的代码。 我如何确保以正确的格式链接库。 我对 C++ 没有太多经验
编辑:我尝试将 Eigen 子目录复制到/usr/local/include
并运行g++ -I /usr/local/include/Eigen/Dense main.cpp -o main
没有成功。
请包括特征库路径如下:
g++ -std=c++11 -I /usr/include/eigen3/ fileName.cpp
在命令行中尝试 -I eigenLibrary 而不是 -I eigenLibrary/Eigen
Eigen3 头文件默认安装在/usr/include/eigen3
目录下使用 Eigen3 编译程序
可以使用@Arjun Kumar
建议的解决方案
为了节省每次编译时的繁琐输入,可以在/usr/local/include
中添加一个符号链接来指向/user/include/eigen3
:
sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen
然后在没有任何标志的情况下编译程序,例如:
g++ -std=c++11 fileName.cpp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.