Актуальная дата и время компиляции в программе на C++ (комментарии)
Это сообщение сгенерировано автоматически.
У меня это работает только для multibyte string (1 байт = 1 символ), а для UNICODE (2 байта = 1 символ, L"пример строки") не работает.
А как там дела со всякими инлайнами?
shasa
Все как обычно: _T(__DATE__)
Suslik
Функции имеют внешнее связывание - инлайн не пройдет.
шурави
никто не умеет такое решать
На самом деле, актуальная дата и время компиляции совсем неактуальны. Т.к. ровным счетом не несут никакой информации и более того - их легко получить из самого файла (ну если не рассматривать случаи целенаправленного изменения его свойств). Из номеров, связанных с проектом интерес представляет только номер ревизии VCS.
тут самое печальное, что он все равно не хочет собирать этот файл после удаления
LINK : fatal error LNK1181: cannot open input file 'build.obj'
типа был этот файл перед pre-build и ладно, компилировать его не надо типа.. найти бы еще способы..
Удалять по post-build тоже не вариант.. т.к. допустим идет компиляция, файл скомпилировался, а другие нет - ошибка например. При следующей сборке файл обновлен не будет.
antslag
Есть вариант - в пребилд поставить тулзу которая будет для .cpp-шника менять дату последней модификации на текущую.
Не получается, это я с самого начала пробывал, потом подумал уж раз так не катит, то удаление obj прокатит.. но и на удаление ему пофиг.
Была бы такая штука типа выполнении комманд, даже после ошибки компиляции, почему-то нету. Ну или при компиляции он бы сначала Prebuild выполнял, а уж потом искал какие файлы ему собирать надо, а он видимо сначала собирает инфу, потом prebuild делает.
Visual studio 2008, может на других конечно по-другому..
antslag
Странно все это. А если закрыть .cpp в студии, поменять дату файла руками, и сделать билд?
Руками если - конечно прокатывает. Ну или в post-build прописать, в следущей сборке соберет нужный файл (если postbuild выполнится, а при ошибках сборки он не выполнится). Вобщем печально это все :)
antslag
В 2009-м году у меня это как-то работало :) Как в анекдоте, у меня еще много рецептиков. Попробуй поставить большую дату .cpp или .obj, скажем - 2050 год. Помню у студии был косяк - если перевести время назад, то билд постоянно дает ребилд из-за того что сорцы/обжи расцениваются как новые (требующие пересборки). А тут как раз этот косяк можно в фичу обернуть.
Спасибо :) так вроде пересобирает, но там правда для сборки под другой платформой страшно орет и зацикливается makedepend "Warning: File has modification time 8.6e+04 s in the future", но это уже другая проблема, спасибо :)
Тема в архиве.