C++ 在ubuntu16.04上生成运行时armadillo库时出错

C++ 在ubuntu16.04上生成运行时armadillo库时出错,c++,armadillo,C++,Armadillo,根据Linux和macOS:Armadillo安装指南,在Debian机器(ubuntu-16.04)上,我试图安装Armadillo库,执行命令后:$cmake. 用空格与“cmake”隔开的句号很重要。 我执行了命令:$make(仍然使用root权限尝试),抛出了以下错误 piyush@ubuntu:~/armadillo$ sudo make Scanning dependencies of target armadillo [ 33%] Building CXX object CMake

根据Linux和macOS:Armadillo安装指南,在Debian机器(ubuntu-16.04)上,我试图安装Armadillo库,执行命令后:$cmake. 用空格与“cmake”隔开的句号很重要。 我执行了命令:$make(仍然使用root权限尝试),抛出了以下错误

piyush@ubuntu:~/armadillo$ sudo make
Scanning dependencies of target armadillo
[ 33%] Building CXX object CMakeFiles/armadillo.dir/src/wrapper1.cpp.o
[ 66%] Building CXX object CMakeFiles/armadillo.dir/src/wrapper2.cpp.o
[100%] Linking CXX shared library libarmadillo.so
/usr/bin/ld: /usr/local/lib/libsuperlu.a(util.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libsuperlu.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
CMakeFiles/armadillo.dir/build.make:123: recipe for target 'libarmadillo.so.9.800.2' failed
make[2]: *** [libarmadillo.so.9.800.2] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/armadillo.dir/all' failed
make[1]: *** [CMakeFiles/armadillo.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

这个库在Ubuntu中可用。照办

sudo apt install libarmadillo-dev
注意:永远不要运行sudo make,这是一种非常糟糕的做法