Фактическая дата сборки в C ++ - PullRequest
1 голос
/ 04 июля 2019

Мне нужно получить дату сборки модуля. Я использую __DATE__ макрос. Но похоже, что если файл, содержащий этот макрос, не был изменен, он не компилируется, а дата сборки остается старой и неверной. Как убедиться, что дата сборки обновляется? Может быть, есть другой способ получить дату сборки модуля?

1 Ответ

2 голосов
/ 04 июля 2019

Все, что вы пишете, правильно и работает как следует:

Когда вы используете систему сборки, файл компилируется только после того, как он был изменен, то есть он новее, чем соответствующий объектный файл. Таким образом, вы всегда получите дату, когда этот конкретный файл был скомпилирован.

Чтобы получать новую дату сборки каждый раз, когда изменяется любой файл приложения / библиотеки, необходимо убедиться, что файл, в котором хранится дата сборки, также создается каждый раз.
Обычно система сборки поддерживает что-то в этом роде, опцию типа «всегда строить». Другой (не рекомендуемый) способ - удалять объектный файл каждый раз перед сборкой. Или (что еще хуже) всегда делайте чистую сборку, т.е. удаляйте все и собирайте все каждый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...