0

ソースファイルに targetlibs=Lib.lib を持つファイル A.cpp があります。Lib.cpp は C_defines=-DSomething でコンパイルされていますが、A.cpp は C_defines=-DOther でコンパイルされています。Lib.pp には、-DSomething および -DOther の #ifdef が含まれています。

この場合はどうなりますか?-DSomething は保持されますか、それとも -DOther に置き換えられますか? -DOther は無視されますか? それとも両方保管?ありがとう

4

1 に答える 1

1

定義はコンパイル時に効果があるため、ライブラリ コードには -DSomething が保持され、プログラム コードには -DOther が保持されます。Lib.h などの Lib のヘッダーが A.cpp に含まれている場合は、A.cpp と同じコンパイル単位にあるため、ヘッダー コードにも -DOther が使用されることに注意してください。

于 2011-02-16T20:11:57.743 に答える