Objective c 在静态库中调用外部宏

Objective c 在静态库中调用外部宏,objective-c,Objective C,编辑: 我的xCode项目(称为PROJECT1)包含另一个作为依赖项的xCode项目(在构建阶段)(称为LIB1) 我遇到的问题是LIB1需要一个宏和一些在编译时由PROJECT1在include中定义的定义(取决于PROJECT1中选择的目标) 我认为运行脚本操作可以帮助我。但是我发现脚本是在构建依赖项之后调用的。所以我的include文件被复制到我的lib源代码中,然后lib被编译 我还发现构建设置环境变量不会传输到LIB1,这对我有很大帮助 你有什么想法吗 谢谢你的帮助 Thierry您

编辑:

我的xCode项目(称为PROJECT1)包含另一个作为依赖项的xCode项目(在构建阶段)(称为LIB1)

我遇到的问题是LIB1需要一个宏和一些在编译时由PROJECT1在include中定义的定义(取决于PROJECT1中选择的目标)

我认为运行脚本操作可以帮助我。但是我发现脚本是在构建依赖项之后调用的。所以我的include文件被复制到我的lib源代码中,然后lib被编译

我还发现构建设置环境变量不会传输到LIB1,这对我有很大帮助

你有什么想法吗

谢谢你的帮助


Thierry

您需要在需要它的代码中包含包含所需内容的头文件。宏不像是在另一个位置跳转到代码的函数。宏在使用它的地方创建代码。

另一个选项是将所有依赖项转换为变量/方法,而不是宏文字或宏函数扩展。通常,这将通过为每个不同的操作环境提供的单独服务模块来实现。

Buy-it glasses?宏不是“调用”,而是“扩展”。它们必须在编译代码(或者更准确地说,预处理)时出现,并且在编译后更改宏不会产生任何效果。