我遇到了 Xcode 的隐式依赖检查和静态库的问题,我认为这是 Xcode 中的一个错误(并且已经报告过);我在这里提出它,以防其他人对此有任何想法。简而言之,如果应用程序依赖于静态库,并且作为库组件的源文件被修改,Xcode 会重建库但不会重新链接应用程序,因此在应用程序中看不到更改。
更具体地说:我有一个包含应用程序项目和静态库项目的工作区,以便应用程序调用库中的函数(并且结果在应用程序中可见:例如,函数返回显示在标签中的文本应用程序)。静态库包含在应用程序目标的“Link Binary with Libraries”构建阶段。从头开始构建会导致首先构建库,然后是应用程序,正如预期的那样(换句话说,Xcode 已经检测到依赖关系)。
现在,如果我修改库源文件中的消息文本,然后单击“构建并运行”按钮,Xcode 正确重建库,但无法重新链接应用程序,所以当应用程序运行时,未修改的消息文本是显示。
我在 Mac OS X 10.8.2 下运行 Xcode 4.5.1。在我报告的场景中,该应用程序是一个 iOS 单视图应用程序,而被调用的静态库函数恰好是用 C++ 实现的。
目前我知道除了清洁和重建之外没有其他解决方法。有没有其他人看到过这个,或者有任何其他见解?提前致谢。