objective-c - 静态库中的预处理器宏

标签 objective-c macros c-preprocessor

在一个 Objective-C 项目中,我使用了一个静态库,这个静态库的编译依赖于一些预处理器宏的设置。

当我根据库在项目中设置这些宏时,库看不到它们。但是当我在图书馆项目中设置它们时,它确实有效。

由于我想将这个库重用于其他项目,我需要根据库分别为每个项目设置预处理器宏。有解决办法吗?

最佳答案

预处理器宏仅在编译时有任何意义,因此您构建的任何库在您构建库时都将特定于这些预处理器宏的值。您将需要许多不同版本的库,使用预处理器宏的不同可能值构建,或者您可以切换到使用不同的方法来控制将在运行时工作的库代码的行为,例如通过库 API 设置一些适当的参数。

关于objective-c - 静态库中的预处理器宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7791642/

相关文章:

C# 具有相似类的泛型

c - 为 Automake 文件中的一个程序设置预处理器指令

ios - 从更新 xcode 到 xcode 5.1 后的错误中引用

iphone - iOS:路由器IP可达?

ios - 委托(delegate)通过父 View Controller 和嵌入式 View Controller 捕获了什么?

objective-c - Cocoa 在分发时保存文本文件

macros - 将 token 名称作为字符串返回的 Rust 方法

c++ - 是否可以在 C++11 中编写宏 existenceof(S,f) 或 hasfield(S,f)?

C++ #ifndef 对于包含文件,为什么头文件全部使用大写?

c++ - 为特定文件定义