在 XCode 中,iPhone 的 Release 模式下找不到 .dylib(动态库)的链接,但在 Debug 模式下则可以。

10

我已经将libxml2.2.dylib库包含在我的iPhone XCode项目中,以创建一些Xml和XPath解析实用程序。 当我在模拟器和设备的调试模式下编译和运行时,没有任何问题,但是当我切换到发布模式时,我会收到"error: libxml/tree.h:没有这样的文件或目录"等其他类似于以下.h文件的错误。

#import <libxml/tree.h>
#import <libxml/parser.h>
#import <libxml/HTMLparser.h>
#import <libxml/xpath.h>
#import <libxml/xpathInternals.h>

我需要做什么来确保库被包含并链接到发布版本中?

3个回答

8

在头文件中出现错误是由于头文件搜索路径错误导致的编译时错误,而不是.dylib或链接器错误。

您需要确保在发布配置中将${SDK_DIR}/usr/include/libxml2添加到您的头文件搜索路径中。


谢谢您的快速回复,问题解决了! - JWD

7

今天早上我遇到了同样的问题,一直在困惑。这个问题与xcode 4有关。

就像上面描述的那样,当 Schema > Build Configuration --> Debug
时可以构建成功,但是当切换到Release时会失败。

我尝试了多次清理并添加${SDK_DIR}/usr/include/libxml2或$/usr/include/libxml2,还三次检查了Header Search Paths / 检查了递归复选框,但都没有解决问题。当时我正准备开始一个新项目……

最后我通过将User Header Search Paths添加${SDK_DIR}/usr/include/libxml2来解决问题。


0
请确保在您的项目中包含了libxml,这是导致我遇到问题的原因。
将libxml2.2.7.3.dylib添加到链接库中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接