1

我正在尝试将 libtidy 用于 iPhone 应用程序(因为 iPhone 2.2 SDK 不包含具有整洁功能的 NSXMLDocument),但在构建应用程序时出现链接器错误,提示“找不到 -ltidy 的库”。

至于其他框架/库引用,我已将 libtidy.dylib 添加到我的引用框架列表中,并将关联的 libtidy 头文件添加到我的 Header Search Paths 构建设置中列出的路径中。Xcode 似乎在我构建应用程序时自动添加 -ltidy 链接器选项,但它仍然抱怨找不到关联的 libtidy.dylib 文件,即使我可以在指定路径中的文件系统上看到它并在框架中列出参考。

在 Xcode 中添加对 libtidy 的引用时,有没有其他人遇到过类似的问题?我将 Xcode 3.1.2 与 iPhone SDK 2.2.1 一起使用。

4

1 回答 1

2

这是一个很大的疏忽,但解决此问题的唯一方法是手动处理这两个文件:

/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libtidy.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libtidy.A.dylib

...进入不同的模拟器目录:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk/usr/lib/
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/usr/lib/
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/usr/lib/
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk/usr/lib/

不知道为什么他们一开始就不在那里。您可以从终端执行此操作:

for directory in $( echo /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator*.sdk/usr/lib/ ); do
  sudo cp /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libtidy.* $directory
done;
于 2009-06-29T08:57:14.407 回答