【发布时间】:2020-04-04 00:03:02
【问题描述】:
我是 C++ 新手,我尝试使用 Armadillo 来查找对称矩阵的特征值(eig_sym 是函数的名称)。我使用了'g++ -std=c++14 main.cpp -o app -O2 -larmadillo -llapack -lbas',退出是
错误:“eig_sym”未在此范围内声明 eig_sym(eigval,一); ^ eigval_sym.cpp:44:21:注意:建议的替代方案: 在 /usr/include/armadillo:443:0 包含的文件中, 来自 main.cpp:6: /usr/include/armadillo_bits/fn_eig_sym.hpp:118:1:注意:'arma::eig_sym'
,但是在 main.cpp 文件中我写了 #include 。什么时候失败?可能是找不到库路径?
【问题讨论】:
-
从错误消息中,它在您的.cpp 中找不到
eig_sym的声明,并建议arma::eig_sym。添加缺少的范围,然后重试。 -
只需
#include <armadillo>就足够了。它真的能找到犰狳头吗?