2011-02-16 51 views
0

我有源文件上有targetlibs = Lib.lib的文件A.cpp。 Lib.cpp是用C_defines = -DSomething编译的,但是A.cpp是用C_defines = -DOther编译的。 Lib.pp包含#ifdefs用于-DSomething和-DOther。链接到lib更改库的源代码的编译器定义?

在这种情况下会发生什么?是 - 什么东西保存或替换 - 其他?是否 - 被忽略?或者两者都保存? 谢谢

回答

1

定义在编译时有影响,所以 - 为库代码保留一些东西,为程序代码保存一些东西。注意,如果Lib的标题,例如Lib.h,包含在A.cpp中,-DOther也用于标题代码,因为它与A.cpp的编译单位相同。

相关问题