0

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

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

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

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

4

1 回答 1

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 包含文件夹所在的位置。

于 2014-09-19T07:26:14.850 回答