ld:未知选项:-在MacOS上编译共享ATLAS库时melf_x86_64

ld:未知选项:-在MacOS上编译共享ATLAS库时melf_x86_64,macos,unix,ld,blas,atlas,Macos,Unix,Ld,Blas,Atlas,我正在尝试安装ATLAS BLAS库。我有静态库,但重要的是我有独立的库。在指南中,我要发布makeshared来获取共享库,我得到了以下错误: $ make shared rm -f libatlas.so liblapack.so make libatlas.so liblapack.so libf77blas.so libcblas.so liblapack.so ld -melf_x86_64 -shared -soname libatlas.so -o libatlas.so \

我正在尝试安装ATLAS BLAS库。我有静态库,但重要的是我有独立的库。在指南中,我要发布
makeshared
来获取共享库,我得到了以下错误:

$ make shared
rm -f libatlas.so liblapack.so
make libatlas.so liblapack.so libf77blas.so libcblas.so liblapack.so
ld -melf_x86_64 -shared -soname libatlas.so -o libatlas.so \
        --whole-archive libatlas.a --no-whole-archive -lc -lpthread -lm
ld: unknown option: -melf_x86_64
make[1]: *** [libatlas.so] Error 1
make: *** [shared] Error 2
我已经查阅了ATLAS的勘误表,但这个问题似乎没有得到解决。我想知道该往哪个方向走

--安德鲁

ld-melf_x86_64-shared-soname libatlas.so-o libatlas.so --整个归档libatlas.a--没有整个归档-lc-lpthread-lm

这个Makefile是

  • 伪造:几乎不应该将任何东西直接链接到
    ld
  • 编写时假设它在ELF
    x86_64
    平台上使用GNU ld(在您的情况下不正确)
  • 您需要针对您的平台调整这些说明。使用适当的命令来构建MacOS共享库(我不知道它们是什么,但我相信你可以使用搜索引擎和/或
    manld
    来找到它们)。

    你使用的是什么工具链(和版本)?OSX是一个“非elf”平台,因此链接器不了解elf特定选项也就不足为奇了。我只能猜测您的配置在某个地方是错误的,并且在不应该使用gnu/linux特定选项的情况下使用了gnu/linux特定选项。