Libs 链接到库更改库的源代码的编译器定义?

Libs 链接到库更改库的源代码的编译器定义?,libs,Libs,我有一个文件A.cpp,它在源文件上有targetlibs=Lib.Lib。 Lib.cpp是用C_defines=-DSomething编译的,而A.cpp是用C_defines=-DOther编译的。 Lib.pp包含用于-DSomething和-DOther的#ifdef 在这种情况下会发生什么?-数据是由-DOther保留还是替换的?多瑟被忽视了吗?还是两者都保留? 感谢定义在编译时起作用,所以库代码保留-DSomething,程序代码保留-DOther。请注意,如果Lib的头文件(例如

我有一个文件A.cpp,它在源文件上有targetlibs=Lib.Lib。 Lib.cpp是用C_defines=-DSomething编译的,而A.cpp是用C_defines=-DOther编译的。 Lib.pp包含用于-DSomething和-DOther的#ifdef

在这种情况下会发生什么?-数据是由-DOther保留还是替换的?多瑟被忽视了吗?还是两者都保留?
感谢

定义在编译时起作用,所以库代码保留-DSomething,程序代码保留-DOther。请注意,如果Lib的头文件(例如Lib.h)包含在a.cpp中,那么头文件代码也将使用-DOther,因为它与a.cpp位于同一个编译单元中