当尝试在OSX上构建iniparser时,“ld:未知选项:-Bsymbolic”

时间:2013-02-26 13:21:56

标签: macos build ld

我正在尝试在OSX上构建http://github.com/ndevilla/iniparser,但得到:

~/ make
compiling src/iniparser.c ...
compiling src/dictionary.c ...
a - src/iniparser.o
a - src/dictionary.o
ld: unknown option: -Bsymbolic
collect2: ld returned 1 exit status
make: *** [libiniparser.so] Error 1

这似乎不是代码本身的已知问题。我需要在系统上调整什么?

2 个答案:

答案 0 :(得分:3)

该项目的-Bsymbolic中指定的Makefile标志特定于使用ELF二进制格式的GNU链接器和平台。 OS X都不使用。 Makefile有几个与OS X工具链不兼容的其他标志,例如使用共享库的.so扩展而不是.dylib,以及另一个不受支持的链接器标志( -Wl,-soname=…)。您应该能够删除不受支持的链接器标志,然后修复文件扩展名以使其正常工作。

答案 1 :(得分:0)

使用bdash的答案,您可以通过执行以下操作来构建iOS openssl-1.1.1:

sed -ie "s!-Bsymbolic! !" "Makefile"
sed -ie "s/-Wl,-soname=libssl\$(SHLIB_EXT)/ /g" "Makefile"
sed -ie "s/-Wl,-soname=libcrypto\$(SHLIB_EXT)/ /g" "Makefile"
sed -ie "s/--version-script=libcrypto.map/ /g" "Makefile"
sed -ie "s/--version-script=libssl.map/ /g" "Makefile"