0

Windows 10 システムでopenBLAS (ここから 0.2.18) をコンパイルしようとしています。mingw、msys (perl、gfortran など)、および mingw-w64 (基本的にはこちらの手順に従って) をインストールしました。

コンパイルに入ると、次のエラーが発生します。

gcc.exe: エラー: 認識できないコマンド ライン オプション '--exclude-libs=libpthread.a'

「ライブラリ名はコンマまたはコロンで区切ることができる」ようで、「=」の使用は受け入れられないようです。そのため、ソースディレクトリで「exclude」、「libpthread」を検索し、さまざまなメイクファイルを調べるなど、このコマンドラインオプションがどのように/どこで指定されているかを把握しようとしていますが、運がありません.

コマンドラインオプションの構文が正しくないというのは正しいですか? 指定されている場所を追跡する方法や、makeがそのようなコマンドラインオプションを生成する方法についての参照を持っている人はいますか?

参考までに、コマンド全体は次のとおりです。

gcc -O2 -DMS_ABI -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME= -DASMFNAME=_ -DNAME=_ -DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I..  libopenblas.def dllinit.obj \
        -shared -o ../libopenblas.dll -Wl,--out-implib,../libopenblas.dll.a \
        -Wl,--whole-archive ../libopenblas_haswellp-r0.2.18.a -Wl,--no-whole-archive -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0 -Lc:/mingw/64/bin/../lib/gcc -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../lib -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib -Lc:/mingw/64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../..  -lgfortran -lmingw32 -lmoldname -lmingwex -lmsvcrt -lquadmath -lm -lmingw32 -lmoldname -lmingwex -lmsvcrt -lpthread -lmingw32 -lmoldname -lmingwex -lmsvcrt  --exclude-libs=libpthread.a  -defaultlib:advapi32 -lgfortran -defaultlib:advapi32 -lgfortran

makeがディレクトリに入った後に発生します/c/tcm/xianyi-OpenBLAS-3f6398a/exports

4

1 に答える 1

0

--exclude-libsリンカーのオプションですld。あなたはそれをコンパイラに渡しています。gccオプションをリンカーに渡すように指示するには、接頭辞を付けます-Wl。つまり、

-Wl,--exclude-libs=libpthread.a

通過する他のすべてのリンカーオプションに対して行ったのと同じように。

于 2016-06-15T08:18:20.657 に答える