我有一个Xcode5项目(A)依赖于另一个XCode5项目(B)。项目B包含在项目A中作为子项目。项目B需要从项目A传递预处理器定义,但这似乎是一项不可能完成的任务。根据设计,预处理器定义不会从一个父XCode项目传递到其子项目。我已经尝试在XCode Scheme中设置一个环境变量,并在项目B中选择一个,但这也不起作用。我不知道该怎么做,虽然我已经整整一个早上就已经过了......
重要的注意事项:我不想在项目B中更改任何,因为它是一个将被许多父项目使用的项目,并且只应进行更改(即预处理器定义)在父项目中,但从不在项目B中。
编辑:一个非常简单的可能性是在项目A中有一些“config.h”头文件和一些预处理器定义,而项目B将包含这个文件。但是没有专门将该文件的目录添加到项目B的头部包含目录中,我不知道如何告诉XCode找到这个文件(再次:我从不想对项目B进行更改)。
答案 0 :(得分:0)
您的请求最好与xcconfig一起使用。请参阅这篇文章:https://medium.com/@derrickho_28266/super-preprocessor-directives-with-xcode-8-77bf4d4e5a0c
或者,您可以从命令行将定义从项目一直传递到子项目,如下所示:xcodebuild -project TopLevelProject.xcodeproj GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS FOOBAR=1'