2011-03-20 46 views
3

我正在开发一个项目,最终将有一个将由多个应用程序使用的代码库。在阅读文档时,它听起来像是创建一个XCode4工作区,2个项目(1个库和1个应用程序)是要走的路。带静态库项目和应用程序项目的Xcode4工作区

我做到了这一切,似乎一切正常。但是,今天我在我的库项目上做了一大堆工作,当我运行我的应用程序来测试库更改时,它总是包含一个较旧的编译版本。我无所适从,我在我的应用程序方案中添加了我的库作为构建目标,XCode告诉我它正在编译该库,但它始终链接到旧版本。

任何帮助,非常感谢。我在如何设置工作区时错过了某些内容?是否有一个构建步骤,将强制链接到我新编译的.a?我甚至尝试删除依赖项,清理,重新添加依赖项和构建我的应用程序,我仍然得到相同的结果。

+2

也许一个特定的编译版本被添加到'Build Phases'下的'Link Binary With Libraries'中。 – 2011-03-20 01:41:27

+2

请更新您的问题,并说明您的依赖关系是如何设置的(或者您是否让Xcode自动检测),您构建的.a产品与您的应用程序链接的方式等。此处的详细信息非常重要。 – 2011-03-20 14:56:25

+1

感谢您的评论,我今天回到了我的代码,做了一次干净的重新构建,并且所有事情都再次适当地链接。我想我一定是累了,昨天做了一些愚蠢的事情。为了回答你Joshua的问题,我让XCode自动检测。 – 2011-03-21 04:37:08

回答

1

原来XCode做的一切都很正确,我没有。另一个干净的和重新编译,一切都按预期工作。

2

我遇到了同样的问题,我的解决办法是

rm -f BUILT_PRODUCTS_DIR/$EXECUTABLE_PATH 

添加到build -> pre-actions节(编辑方案,展开构建和添加预行动)。 在Provide build settings from下请确保选择您的目标项目。 这将确保在脚本运行时配置正确的环境变量。 我正在使用XCode 4.5.1。

相关问题