如何在Mac OS中链接Linux的.so共享库?

3

我有一个第三方给我提供了已经编译好的共享库文件.so

就像这样:

file securitymduserapi.so 
securitymduserapi.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

但是当我尝试使用otool来显示更多信息时,出现了以下错误:

otool -L securitymduserapi.so 
securitymduserapi.so: is not an object file

能否在macOS中链接linux编译的.so共享库?

Mac OS版本:10.10.3

我仍然困惑于linux架构和mac的兼容性,如果我在linux中创建了一个共享库,我能否在mac os中尝试使用这个共享库?


通常情况下,你无法在MacOS上链接Linux共享对象。这是因为两者的应用二进制接口(ABI)不同。你考虑过在虚拟机中运行Linux吗? - undefined
你需要请求一个适用于Mac的库版本,或者在Linux上运行(通常是与.so文件编译时使用的特定版本,或尽可能接近的版本)。 @EmployedRussian给出了你的答案;-) - undefined
1个回答

2
如果我在Linux中创建一个共享库,我能否尝试在Mac OS中使用这个共享库?
你可以尝试,但是你无法成功。
你不会期望能够在MacOS上使用Windows的.DLL文件,对吗?在这个背景下,Linux的.so文件也不例外。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接