我正在尝试在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
这似乎不是代码本身的已知问题。我需要在系统上调整什么?
答案 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"