我目前的Xcode iOS项目使用了许多静态库。静态库中的不同代码模块具有各种级别的调试,我可以使用该模块中的#define来打开/关闭。子项目的Xcode环境变量
我想要做的是将库中的所有调试默认关闭,然后从父项目中设置调试级别。我想这样做,所以任何使用lib的proj都必须明确地打开调试。
所以MainProj使用myLib1和myLib2等。在myLib1中有一个名为fooModule的模块。 fooModule有调试代码,如:
#if FOOMODULE_DEBUG_LEVEL > 0
//debug code, console logs etc
#endif
我希望能够在父项目中定义FOOMODULE_DEBUG_LEVEL所以库选了在构建时,适当编译。
我曾尝试:
#define FOOMODULE_DEBUG_LEVEL 1
在.PCH 和我曾尝试添加FOOMODULE_DEBUG_LEVEL与这两者都不是由子项目拿起为1的值的用户定义的环境变量的主要项目
库。
有没有办法做到这一点,或者我以错误的方式接近这一点?
您好Mattias,添加预处理器宏似乎并没有影响我在主项目中包含的子项目(即静态库)的构建 – tomj
这在静态库中是不可见的。你能告诉我可能是什么原因吗? – applefreak
您建立一个静态库或与已建立的静态库链接? -D宏仅在编译时使用。 –