在编译/链接期间无法禁用Armadillo Wrapper

时间:2014-09-19 05:31:39

标签: lapack blas armadillo undefined-symbol openblas

我正在尝试使用MinGW32和OpenBLAS在Windows 32下编译Armadillo C ++库。

我已经尝试过关于这个主题的每个教程和stackoverflow.com问题,但似乎仍然无法禁用wrapper.obj的编译,它会产生链接错误“未定义引用`sdot_'”等等。这些是包装器无法找到的BLAS符号。

我没有安装其他BLAS / LAPACK库,并且在cmake输出中确认已找到libopenblas.dll。

如何禁用wrapper.obj的编译和链接?编辑config.hpp无效。

1 个答案:

答案 0 :(得分:2)

您不必使用基于cmake的安装程序来使用Armadillo。安装程序只是创建与BLAS和LAPACK链接的包装器库。您可以直接将基于Armadillo的程序与BLAS和LAPACK链接:

g++ prog.cpp -o prog -O2 -I armadillo-4.500.0/include -DARMA_DONT_USE_WRAPPER -DARMA_USE_BLAS -DARMA_USE_LAPACK -lblas -llapack

armadillo-4.500.0/include更改为Armadillo包含文件夹所在的位置。