【问题标题】:How could I link a linux .so shared library in Mac os?如何在 Mac os 中链接 linux .so 共享库?
【发布时间】:2015-05-31 16:51:21
【问题描述】:

我有第三方给我.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 compile .so共享库。

Mac 操作系统版本:10.10.3

我还在纠结mac的linux架构,如果我在linux中创建一个共享库,我可以尝试在mac os中使用这个共享库吗?

【问题讨论】:

  • 您通常无法在 MacSX 上链接 Linux 共享对象。 ABI 是不同的。您是否考虑过在某个 VM 中运行 Linux?
  • 您需要请求库的 Mac 版本,或在 Linux 上运行(通常是编译 .so 时使用的特定版本,或尽可能接近)。 @EmployedRussian 有你的答案;-)

标签: c++ linux macos shared-libraries cross-compiling


【解决方案1】:

如果我在linux中创建了一个共享库,我可以尝试在mac os中使用这个共享库吗?

你可以尝试,但你不会成功。

您不会期望能够在 MacOS 上使用 Windows .DLL,对吗? Linux .so 在这种情况下没有什么不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多