2016-06-14 141 views
0

我試圖在Windows 10系統上編譯openBLAS(0.2.18從here)。我已經安裝了mingw,msys(包括perl,gfortran等)和mingw-w64(基本上根據程序here)。無法識別的命令行選項'--exclude-libs = libpthread.a'openblas mingw-w64

順利進入編輯,我運行出現以下錯誤:

gcc.exe: error: unrecognized command line option '--exclude-libs=libpthread.a'

似乎並使用「=」是不能接受的「庫名稱可以用逗號或冒號分隔」。所以我試圖弄清楚這個命令行選項是如何/在哪裏指定的,包括在源目錄中搜索「exclude」,「libpthread」以及查看各種makefile,而沒有任何運氣。

我正確的命令行選項沒有正確的語法嗎?有沒有人有任何想法如何追蹤它被指定的位置或有任何參考如何使生成這樣的命令行選項?

作爲參考整體命令是:

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 

,並進入目錄後/c/tcm/xianyi-OpenBLAS-3f6398a/exports

回答

0

--exclude-libs是接頭,ld一個選項時發生。您將它傳遞給編譯器。 告訴gcc通過傳遞選項鍊接,用-Wl它的前綴,即

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

就像你已經與所有其他連接選項您是路過完成。