gcc - 无法识别的命令行选项 '--exclude-libs=libpthread.a' openblas mingw-w64

标签 gcc compiler-errors mingw mingw-w64 openblas

我正在尝试在Windows 10系统上编译openBLAS(来自here的0.2.18)。我已经安装了mingw,msys(带有perl,gfortran等)和mingw-w64(基本上根据here过程安装)。

好了,进入编译,我运行得到以下错误:

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



似乎“库名称可能用逗号或冒号分隔”,并且不接受使用'='。因此,我试图弄清楚如何/在何处指定此命令行选项,包括在源目录中搜索“exclude”,“libpthread”并浏览各种makefile,但没有任何运气。

关于命令行选项语法不正确,我是否正确?是否有人对如何跟踪指定位置有任何想法,或者对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后发生

最佳答案

--exclude-libs是链接器ld的选项。您正在将其传递给编译器。
要告诉gcc将选项传递给链接器,请在其前面加上-Wl,即

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

就像您正在处理的所有其他链接器选项一样。

关于gcc - 无法识别的命令行选项 '--exclude-libs=libpthread.a' openblas mingw-w64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37817330/

相关文章:

python monary 0.2.3 (mongo monary driver) : error in setup on windows 64bit (Anaconda distribution)

c - printf、wprintf、%s、%S、%ls、char* 和 wchar* : Errors not announced by a compiler warning?

c++ - 为什么不能在Dev C++中编译

c - fread 读取的安全最大记录数

c - 如何在C中找到函数的返回地址?

gcc - 我需要做什么才能让 GCC 4.9 认识到使用 AVX FMA 的机会?

java - Groovy在java注释中插入多行字符串

c# - 签署 winforms exe 时出现加密失败 - "The Parameter is incorrect"

c++ - AVX 类型的 C++ 内部函数的引用和在线资源

c - 头文件中的函数定义(c 使用 gcc)