在我的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。
答案 0 :(得分:0)
在Xcode 4.5 中,方案指定目标启动时的可执行环境(包括环境变量)。
有关方案的详细信息,请参阅Build and Run Your App中的Xcode 4 User Guide一章。