2016-06-14 6 views
0

Я пытаюсь скомпилировать openBLAS (0.2.18 от here) в системе Windows 10. Я установил 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'

Кажется, «имена библиотек могут быть разделителями запятыми или двоеточиями», и что использование «=» не принято. Поэтому я пытаюсь выяснить, как/где указан параметр командной строки, в том числе поиск «исключить», «libpthread» в исходных каталогах и просматривать различные make-файлы без какой-либо удачи.

Я правильно отношусь к опции командной строки, не имеющей правильного синтаксиса? Есть ли у кого-нибудь идеи, как отслеживать, где он указан, или иметь какие-либо ссылки на то, как 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 

и происходит после того, как делают входит Адресная книга /c/tcm/xianyi-OpenBLAS-3f6398a/exports

ответ

0

--exclude-libs вариант для линкера ld. Вы передаете его компилятору. Рассказывать gcc передать параметр через линкер, префикс с -Wl, т.е.

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

так же, как вы сделали с для всех других опций компоновщика вы проездом.