2017-07-07 7 views
0

開発用にQt Creatorを使用しています。私はアルマジロ線形代数ライブラリを使用したいと思います。したがって、私のプロファイルで次のコードを使用しました。OpenBLASとQt Creatorプロジェクトのリンク

INCLUDEPATH += C:\armadillo-7.950.1\include 

LIBS += \ 
    -LC:\armadillo-7.950.1\examples\lib_win64 \ 
    -llapack_win64_MT \ 
    -lblas_win64_MT 

これはすべて問題なく、プロジェクトは適切にコンパイルされ、リンクされていました。次の課題は、LAPACKとBLASをOpenBLASで置き換えることでした。だから、プロファイルは、以下のように変更した。

INCLUDEPATH += C:\armadillo-7.950.1\include \ 
      C:\OpenBLAS-v0.2.19-Win64-int32\include 

LIBS += \ 
    -LC:\OpenBLAS-v0.2.19-Win64-int32\lib \ 
    -llibopenblas 

今、私はエラーが表示されます。LNK1104:オープンファイル「libopenblas.lib」することはできません。 OpenBLASのWindowsバイナリをダウンロードしました。インストールされているフォルダ構造は、画像に示されています:installed OpenBLAS folder

どうしたらいいですか?

ありがとうございました。

+0

こんにちはとスタックオーバーフローを歓迎を含むパスに必要なシステム環境変数を設定脱出したい場合は、通過する時間がかかるしてくださいは、ここであなたのやり方を知るために(また、最初のバッジを獲得するため)、[最小限で完全で検証可能な例](https://)を作成する方法を読むために[welcome tour](https://stackoverflow.com/tour) stackoverflow.com/help/mcve)また、[How to Ask Questions(How to Ask Questions)](https://stackoverflow.com/help/how-to-ask)もチェックして、フィードバックと役に立つ回答を得るチャンスを増やしてください。 – DarkCygnus

答えて

0

この問題には2つの理由があります。libopenblas.dll.aとしての.libファイルの

  1. 奇妙な命名は、パッケージは、Windowsのバイナリと呼ばれているにもかかわらず。
  2. 不完全なバイナリパッケージは----それは、すべての必要なDLL
  3. が含まれていません

ソリューション:

  1. は----バイナリを選択してください64やWin32を獲得し、それをダウンロードしてください。ユーリーとしてlibopenblas.libとして

  2. リネームlibopenblas.dll.aは

  3. https://sourceforge.net/projects/openblas/files/v0.2.14/からのダウンロードに必要な不足しているのDLLが不気味という名前のzipファイル「mingw64_dll」またはバイナリタイプに応じて「mingw32_dll」の下に再び同梱されている示唆していますこれらのzipファイルには、「libgcc_s_seh-1.dll」、「libgfortran-3.dll」、「libquadmath-0.dll」が含まれています。

  4. あなたのダウンロードしたバイナリ、すなわちwin64またはX86に応じて正しいターゲットでビルドしてください。

  5. OpenBLASバイナリのbinフォルダからlibopenblas.dllを、バイナリタイプに応じて "mingw64_dll"または "mingw32_dll"の "libgfortran-3.dll"、 "libgfortran-3.dll"、 "libquadmran-3.dll" exeが存在する場所にデバッグまたはリリースディレクトリを構築する。

    1. プログラムを実行してください。

    2. 再度コピーして、再度これらのDLL

0

私はOpenBLASに精通していませんが、設定が正しいと思われます。 Windowsの場合、または少なくともMSVCの場合は、実行時にDLLファイルに加えて、リンク先の.libファイルが必要です。代わりに、OpenBLASは不思議な.dll.aファイルをインストールするように見えます。おそらくそれは同じことでなければなりません: https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio 恐らく名前を変えることはできますが、ファイルを入手するにはソースから再構築する必要があります。

+0

私のOpelBLASインストールフォルダにlibopenblas.dll.aがあります。私はQt Creatorでプロジェクトを実行していますが、Visual Studioに切り替えて確認しました。 libopenblas.dll.aがライブラリファイルとして認識されていません。 libopenblas.libという名前に変更すると、正しく読み込まれません。私はクラッシュに遭遇する。 –

関連する問題