【发布时间】:2016-02-27 00:11:28
【问题描述】:
在 OS X 下编译的静态链接可执行文件在简单地复制到另一台 OS X 机器时是否可以工作?
【问题讨论】:
标签: macos linker static-linking
在 OS X 下编译的静态链接可执行文件在简单地复制到另一台 OS X 机器时是否可以工作?
【问题讨论】:
标签: macos linker static-linking
没有。引用苹果的文章“Statically linked binaries on Mac OS X”:
Apple 不支持 Mac OS X 上的静态链接二进制文件。静态链接二进制文件在内核系统调用接口上假定二进制文件兼容,我们在这方面不做任何保证。
确实,尝试使用 Xcode 工具链构建静态可执行文件会产生错误:
sh% cc -static example.c -o example
ld: library not found for -lcrt0.o
【讨论】:
@rpath 的链接可能会有所帮助。