【发布时间】: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