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

时间:2012-05-04 07:58:18

标签: macos unix ld blas atlas

我正在尝试安装ATLAS BLAS库using this guide。我有静态库,但重要的是我也有位置独立的库。我在指南中找到了我应该发出make shared来获取共享库的点,我收到以下错误:

$ 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的勘误表,但这个问题似乎没有得到解决。我很欣赏有关前进方向的建议。

- 安德鲁

1 个答案:

答案 0 :(得分:2)

  

ld -melf_x86_64 -shared -soname libatlas.so -o libatlas.so           --whole-archive libatlas.a --no-whole-archive -lc -lpthread -lm

这个Makefile是

  1. Bogus:应该几乎永远不会直接与ld
  2. 链接任何内容
  3. 假设它在ELF x86_64平台上使用GNU-ld(在您的情况下不正确)。
  4. 您需要针对您的平台调整这些说明。使用适当的命令构建MacOS共享库(我不知道它们是什么,但我相信您可以使用搜索引擎和/或man ld来查找)。