我有源文件中有targetlibs = Lib.lib的文件A.cpp。 Lib.cpp是使用C_defines = -DSomething编译的,但A.cpp是使用C_defines = -DOther编译的。 Lib.pp包含#ifdefs用于-DSomething和-DOther。
在这种情况下会发生什么?是-DSomething保留或替换为-DOther?是 - 被忽略了吗?或两者都保存? 感谢
答案 0 :(得分:1)
定义在编译时有效,所以-DSomething保留用于库代码,-DOther用于程序代码。要小心,如果A.cpp中包含Lib的头文件,例如Lib.h,-DOther也用于头代码,因为它与A.cpp在同一个编译单元中。