我正在用Xcode构建几个命令行实用程序(普通C,没有Cocoa)。我希望它们都使用我定制的libpng版本,并且我希望通过在所有可执行文件中共享一个库副本来节省空间(我不介意与它们重新分发.dylib
)。
我需要做一些魔术才能得到导出符号吗?
“用库链接二进制”静态地构建阶段链接吗?
苹果的文档提到了在运行时用dlopen
加载库,但是我如何使Xcode创建可执行文件而不抱怨缺少符号呢?
我想我已经搞清楚了:
#define FEATURE_XXX_SUPPORTED
这样的定义DYLD_FALLBACK_LIBRARY_PATH
环境变量是从应用程序包加载.dylib
的必要条件。发布于 2008-10-12 02:21:24
你知道苹果的参考页面动态图书馆规划主题吗?它应该涵盖你所需要的大部分内容。请注意,有一个在程序启动时无条件加载的共享库和按需加载的动态加载库(bundle,IIRC),这两个库在MacOS X上与在Linux或Solaris上的等效库略有不同。
https://stackoverflow.com/questions/194485
复制相似问题