0

MinGW32 と OpenBLAS を使用して Windows 32 で Armadillo C++ ライブラリをコンパイルしようとしています。

このトピックに関するすべてのチュートリアルとstackoverflow.comの質問を試しましたが、リンクエラー「`sdot_'への未定義参照」などを生成するwrapper.objのコンパイルを無効にできないようです。これらは、ラッパーによって検出できない BLAS シンボルです。

他の BLAS/LAPACK ライブラリはインストールしていません。cmake の出力で、libopenblas.dll が見つかったことを確認できます。

wrapper.obj のコンパイルとリンクを無効にするにはどうすればよいですか? config.hpp を編集しても効果はありません。

4

1 に答える 1

2

Armadillo を使用するために cmake ベースのインストーラーを使用する必要はありません。インストーラーは、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

Armadilloarmadillo-4.500.0/includeの include フォルダーがある場所に移動します。

于 2014-09-19T07:26:14.850 に答える