如何在Xcode4中定义库运行时位置?

时间:2012-10-16 19:09:25

标签: xcode4

在我的Cocoa应用程序中,我使用的是第三方C库,它是在命令行中编译的,可在自定义位置使用。

在我的Xcode项目中,我可以定义库的头文件所在的位置以及链接期间库的位置:

标题文件位置(HEADER_SEARCH_PATHS):

Target > Build Settings > Search Paths > Header Search Paths

链接期间的图书馆位置(LIBRARY_SEARCH_PATHS):

Target > Build Settings > Search Paths > Library Search Paths

但是如何定义库的运行时位置?当我在Xcode(cmd-r)中运行我的Cocoa应用程序时,我从动态链接器中收到错误:

dyld: Library not loaded: /usr/local/lib/libfoo.1.dylib
  Reason: image not found

当我创建目录/usr/local/lib和指向库的符号链接时,我的应用程序运行没有问题。

man dydl讲述了三个相关的环境变量:

  • DYLD_LIBRARY_PATH
  • DYLD_FALLBACK_FRAMEWORK_PATH
  • DYLD_FALLBACK_LIBRARY_PATH

我知道如何在bash终端上设置变量(参见例如Where do I set DYLD_LIBRARY_PATH on Mac OS X, and is it a good idea?),但如何为Xcode设置环境变量?

我正在运行OS X 10.8.x和Xcode 4.5.x。

1 个答案:

答案 0 :(得分:0)

在Xcode 4.5 中,方案指定目标启动时的可执行环境(包括环境变量)。

有关方案的详细信息,请参阅Build and Run Your App中的Xcode 4 User Guide一章。