犰狳没有找到BLAS线性代数包

时间:2014-04-16 13:22:13

标签: armadillo

我使用我的Red Hat为ARMv7交叉编译了Armadillo。

当我尝试进行矩阵乘法时,我得到错误:

armadillo_bits/blas_wrapper.hpp:79: undefined reference to `wrapper_dgemv_'

我从源代码构建了BLAS和LAPACK,它似乎找到了LAPACK,因为它让我可以毫无错误地进行Cholesky分解。

我是这样建造的:

arm-linux-gnueabihf-g++  -march=armv7-a     -mthumb-interwork -mfloat-abi=hard  
-mfpu=neon    
-mtune=cortex-a9 --sysroot=/home/mg/yocto/build/tmp/sysroots/socfpga_cyclone5  
-DHAVE_CONFIG_H -I. -I..   --sysroot=/home/mg/yocto/build/tmp/sysroots 
/socfpga_cyclone5  -g -O2 -L/opt/altera-linux/linaro/gcc-linaro-arm-linux-gnueabihf- 
4.7-2012.11-20121123_linux/arm-linux-gnueabihf/lib -I/opt/altera-linux/linaro 
/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/arm-linux-gnueabihf 
/include  -llapack -lf2c  -lblas -lm --sysroot=/home/mg/yocto/build/tmp/sysroots 
/socfpga_cyclone5 -MT AlgoLibTests.o -MD -MP -MF .deps/AlgoLibTests.Tpo -c -o  
AlgoLibTests.o AlgoLibTests.cpp

我把我的BLAS和LAPACK放在这里:

/opt/altera-linux/linaro/gcc-linaro-arm-linux-gnueabihf- 
4.7-2012.11-20121123_linux/arm-linux-gnueabihf/lib

如果我禁用了BLAS支持,它的计算速度非常慢。

这在配置文件中定义

ARMA_USE_BLAS

这是禁用的。

ARMA_USE_WRAPPER

ATLAS也被禁用。为什么找不到那个BLAS库?

1 个答案:

答案 0 :(得分:0)

当我尝试为我的Android项目编译Armadillo时,我也遇到了这个错误。我确信ARMA_USE_WRAPPER尚未停用。这就是为什么你得到错误未定义的引用`wrapper_dgemv _'。再次检查。

我还注意到Mobile上的矩阵计算速度比我的Mac OS慢。