【发布时间】:2012-05-30 23:32:52
【问题描述】:
我正在尝试为包含多个可执行文件和静态库的项目设置 Xcode。我创建了多个目标并设置了链接和依赖项,最初一切都很好。捕获...
这是一个已有的项目,已经有 Visual Studio 和 Makefile 版本。这些构建将库放在 lib/Debug 目录中,将可执行文件放在 bin/Debug 中。所以在 Xcode 中,我将 Build Products Path 分别更改为“lib”和“bin”(这样我们就可以为所有平台使用一组文档)。这将编译的目标放在正确的位置,但完全破坏了链接(找不到库)和依赖关系。
我可以通过将 $(SRCROOT)/lib/Debug 添加到每个可执行文件的库搜索路径来修复链接(但感觉 Xcode 应该能够自己解决这个问题,这让我觉得我做错了什么)。
但是——我不知道如何让依赖项再次工作。如果我更改库源文件,则库将重建,但不会重建依赖的可执行文件。如果我强制构建可执行 Xcode 会返回成功而不做任何事情;它认为目标是最新的。如果我清理目标然后重建它就可以工作。
那么,这里有什么想法吗? Xcode 在这方面从根本上是愚蠢的,还是我(我倾向于后者)?
更新:我在http://share.industriousone.com/XcodeDepsIssue.zip 发布了一个示例项目来演示该问题。构建一次,然后修改 MyStaticLib.c 并再次构建它。可执行文件不会重新链接(它应该)。非常感谢您对此提供的任何帮助。
【问题讨论】:
标签: xcode dependencies