0

在我的 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 终端上设置变量(请参阅我在哪里设置 Mac OS X 上的 DYLD_LIBRARY_PATH,这是个好主意吗?),但是如何为 Xcode 设置环境变量?

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

4

1 回答 1

0

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

有关方案的详细信息,请参阅Xcode 4 用户指南中的构建和运行您的应用一章。

于 2012-10-16T19:09:25.420 回答