Определения компилятора исходного кода, связанного с lib change lib?

У меня есть файл A.cpp, который имеет targetlibs=Lib.lib в исходном файле. Lib.cpp был скомпилирован с C_defines=-DSomething, но A.cpp скомпилирован с C_defines=-DOther. Lib.pp содержит #ifdefs для -DSomething и -DOther.

Что происходит в этом случае? Сохраняется -DSomething или заменяется другим? -Другое игнорируется? Или оба хранятся? Спасибо

1 ответ

Решение

Определения оказывают влияние во время компиляции, поэтому -DSomething сохраняется для кода библиотеки и -DOther для кода программы. Будьте осторожны, если заголовок Lib, например Lib.h, включен в A.cpp,-DOther также используется для кода заголовка, поскольку он находится в том же модуле компиляции, что и A.cpp.

Другие вопросы по тегам