(我的问题以前曾在这里提出过,但没有可以看到的有效答案。例如Xcode4 Workspace with Static library project & application project)
我正在尝试使用由第三方提供的图书馆。他们提供了XCode项目,该项目可构建libLibraryName.a文件。他们建议将项目作为子项目添加到我自己的项目中,然后将产品libLibraryName.a文件添加到我的项目设置“使用库链接二进制文件”中描述的库集中。
该库确实可以正确构建:.a文件已生成。但是该项目在“产品”组下显示了一个红色的libLibraryName.a文件。我无法使它变黑。父项目说它找不到用于链接的LibraryName。
作为测试,我使用XCode 4静态库模板创建了一个新的静态库项目。该项目表现出相同的行为-即使构建了.a文件,产品也从未显示“黑色”。 (编辑:如果您为设备而不是模拟器而构建,它会变黑)。
我知道XCode 4默认将中间文件和产品文件放置在共享位置。我尝试了此设置,并且更改了设置以将产品文件放置在构 build 置中描述的文件夹中。两种设置均无效。
人们也建议为设备而不是模拟器而 build 。我试过这个都没有用。
是什么赋予了?我如何获得一个静态库项目来识别它在哪里构建产品,然后在另一个项目中引用该产品?
最佳答案
跳很多圈,但是现在我可以正常工作了,这里是我的注意事项。
$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
如果将其更改为其他名称(或者,如果您从Xcode3.x升级了项目,则我将$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)$(IPHONEOS_DEPLOYMENT_TARGET)
用作默认设置),那么Product文件libLibraryName.a将永远不会变黑。对我来说,这表明XCode某个地方存在错误。 总而言之,它就像一个魅力。我忍不住认为它应该容易得多-因为我相信它在XCode3中。
我很乐意阅读其他人在所有这些方面的经验,或者对使静态库正常工作的其他(更简单的)方法的任何反馈。