Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 犰狳和superLU错误:“;必须启用SuperLU的使用”;和未定义的引用_C++_Armadillo - Fatal编程技术网

C++ 犰狳和superLU错误:“;必须启用SuperLU的使用”;和未定义的引用

C++ 犰狳和superLU错误:“;必须启用SuperLU的使用”;和未定义的引用,c++,armadillo,C++,Armadillo,对于一个项目,我需要使用armadillo提供的稀疏解算器,它似乎是SuperLU的包装器,我目前遇到了一个问题。 您也可以指出,我无法访问计算机上的根目录。 这里有一个简单的例子: #include <iostream> #define ARMA_USE_SUPERLU 1 #include <armadillo> using namespace arma; int main() { sp_mat A = sprandu<sp_mat>(1000,

对于一个项目,我需要使用armadillo提供的稀疏解算器,它似乎是SuperLU的包装器,我目前遇到了一个问题。
您也可以指出,我无法访问计算机上的根目录。
这里有一个简单的例子:

#include <iostream>
#define ARMA_USE_SUPERLU 1
#include <armadillo>

using namespace arma;

int main()
{
  sp_mat A = sprandu<sp_mat>(1000, 1000, 0.1);
  vec b = randu<vec>(1000);
  vec x;
  spsolve(x, A, b, "superlu");  // use SuperLU solver
  return 0;
}
汇编给了我很大的帮助

[100%] Building CXX object CMakeFiles/test_superLU.dir/test_superLU.cpp.o
Linking CXX executable ../bin/test_superLU
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « arma::sp_auxlib::destroy_supermatrix(arma::superlu::SuperMatrix&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:139: référence indéfinie vers « wrapper_Destroy_CompCol_Matrix »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:130: référence indéfinie vers « wrapper_Destroy_SuperNode_Matrix »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_simple<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:121: référence indéfinie vers « wrapper_set_default_options »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: encore plus de références indéfinies suivent vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_simple<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:104: référence indéfinie vers « wrapper_StatInit »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:38: référence indéfinie vers « wrapper_dgssv »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:112: référence indéfinie vers « wrapper_StatFree »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_refine<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpMat<double>::pod_type&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:121: référence indéfinie vers « wrapper_set_default_options »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: encore plus de références indéfinies suivent vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_refine<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpMat<double>::pod_type&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:104: référence indéfinie vers « wrapper_StatInit »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:82: référence indéfinie vers « wrapper_dgssvx »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:112: référence indéfinie vers « wrapper_StatFree »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: encore plus de références indéfinies suivent vers « wrapper_superlu_free »
collect2: erreur: ld a retourné 1 code d'état d'exécution
make[2]: *** [../bin/test_superLU] Erreur 1
make[1]: *** [CMakeFiles/test_superLU.dir/all] Erreur 2
make: *** [all] Erreur 2
[100%]构建CXX对象CMakeFiles/test_superLU.dir/test_superLU.cpp.o
链接CXX可执行文件../bin/test\u superLU
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:dans la fonction«arma::sp_auxlib::destroy_supermatrix(arma::superLU::supermatrix&)»:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:139:référence indéfinie vers«wrapper_Destroy_CompCol_Matrix»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:130:référence indéfinie vers«wrapper_Destroy_SuperNode_Matrix»
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:dans la fonction«bool arma::sp_auxlib::spsolve_simple(arma::Mat&,arma::SpBase const&,arma::Base const&,arma::superLU opts const&)»:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:121:référence indéfinie vers«wrapper_set_default_options»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superLU.hpp:157:encore plus de références ind fines suivent vers«wrapper_superLU malloc»
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:dans la fonction«bool arma::sp_auxlib::spsolve_simple(arma::Mat&,arma::SpBase const&,arma::Base const&,arma::superLU opts const&)»:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:104:référence indéfinie vers«wrapper_statitit»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:38:référence indéfinie vers«wrapper_dgssv»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:112:référence indéfinie vers«wrapper_StatFree»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:dans la founction«bool arma::sp_auxlib::spsolve_refine(arma::Mat&,arma::SpMat::pod_type&,arma::SpBase const&,arma::Base const&,arma::superLU opts const&)»:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:121:référence indéfinie vers«wrapper_set_default_options»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157:référence indéfinie vers«wrapper_superlu_malloc»
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superLU.hpp:157:encore plus de références ind fines suivent vers«wrapper_superLU malloc»
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:dans la founction«bool arma::sp_auxlib::spsolve_refine(arma::Mat&,arma::SpMat::pod_type&,arma::SpBase const&,arma::Base const&,arma::superLU opts const&)»:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:104:référence indéfinie vers«wrapper_statitit»
/主页/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:82:référence indéfinie vers«wrapper_dgssvx»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:112:référence indéfinie vers«wrapper_StatFree»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166:référence indéfinie vers«wrapper_superlu_free»
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superLU.hpp:166:encore plus de références ind fines suivent vers«wrapper_superLU free»
集合2:错误:返回1执行代码
制造[2]:***[../bin/test\u superLU]错误1
make[1]:***[CMakeFiles/test_superLU.dir/all]错误2
制造:**[全部]错误2
我怎样才能让它工作?

谢谢

我对犰狳不太熟悉,但你可能需要
[100%] Building CXX object CMakeFiles/test_superLU.dir/test_superLU.cpp.o
Linking CXX executable ../bin/test_superLU
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « arma::sp_auxlib::destroy_supermatrix(arma::superlu::SuperMatrix&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:139: référence indéfinie vers « wrapper_Destroy_CompCol_Matrix »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:130: référence indéfinie vers « wrapper_Destroy_SuperNode_Matrix »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_simple<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:121: référence indéfinie vers « wrapper_set_default_options »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: encore plus de références indéfinies suivent vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_simple<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:104: référence indéfinie vers « wrapper_StatInit »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:38: référence indéfinie vers « wrapper_dgssv »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:112: référence indéfinie vers « wrapper_StatFree »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_refine<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpMat<double>::pod_type&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:121: référence indéfinie vers « wrapper_set_default_options »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: référence indéfinie vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:157: encore plus de références indéfinies suivent vers « wrapper_superlu_malloc »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o: dans la fonction « bool arma::sp_auxlib::spsolve_refine<arma::SpMat<double>, arma::Mat<double> >(arma::Mat<arma::SpMat<double>::elem_type>&, arma::SpMat<double>::pod_type&, arma::SpBase<arma::SpMat<double>::elem_type, arma::SpMat<double> > const&, arma::Base<arma::SpMat<double>::elem_type, arma::Mat<double> > const&, arma::superlu_opts const&) »:
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:104: référence indéfinie vers « wrapper_StatInit »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:82: référence indéfinie vers « wrapper_dgssvx »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:112: référence indéfinie vers « wrapper_StatFree »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: référence indéfinie vers « wrapper_superlu_free »
CMakeFiles/test_superLU.dir/test_superLU.cpp.o:/home/cpivot/SoftWare/usr/include/armadillo_bits/wrapper_superlu.hpp:166: encore plus de références indéfinies suivent vers « wrapper_superlu_free »
collect2: erreur: ld a retourné 1 code d'état d'exécution
make[2]: *** [../bin/test_superLU] Erreur 1
make[1]: *** [CMakeFiles/test_superLU.dir/all] Erreur 2
make: *** [all] Erreur 2