2009-09-02 81 views
6

我在XCode中创建了一个需要几个动态库的静态库(例如libsqlite3.0.dylib)。我可以使用XCode中的交叉项目引用创建一个依赖于我的静态库的应用程序,但似乎必须手动将所有必需的动态库添加到每个应用程序项目以使它们链接。XCode静态库是否需要与动态库链接?

是否有任何方法在XCode中配置静态库项目,以便依赖应用程序将自动链接到它需要的任何动态库?

我尝试添加动态库到我的静态库项目中的框架列表,但这似乎没有效果。

回答

2

是的 - 您需要将库添加到应用程序。一个静态库 - 一个.a - 只是.o文件的一个归档文件,只需少量的内部符号解析。直到您将它链接到应用程序(或框架)中,才会发生完整的符号解析。

(是否使用直接sqlite3的?如果是的话,为什么不使用核心数据?是有原因的,但几乎没有经常人的事情...)

+0

感谢。我知道.a文件不包含任何有关它所需的动态库的信息,但我希望.xcodeproj中可能有某些内容可以将此信息传递给引用它的依赖.xcodeproj文件。这在理论上似乎是可能的,但也许这只是一厢情愿的想法。 我使用sqlite3,因为我的一些应用程序需要在OS 2.2.1上工作。 – cduhn

+0

(CD:有道理,但我想知道剩余的2.2.1个用户中有多少是活跃的应用程序购买者)。我在Xcode中知道的没有这样做。您可能可以使用xcconfig文件 - 构建配置文件 - 然后在项目之间共享该配置文件。该文档可以提供帮助。 – bbum