Russian Qt Forum

Qt => Вопросы новичков => Тема начата: QuAzI от Ноябрь 28, 2012, 16:13



Название: qmake date/time variables
Отправлено: QuAzI от Ноябрь 28, 2012, 16:13
Хочется в about info к исполняемому файлу проставлять таймстамп даты сборки.
Пока в RC-файле определил получение даты/времени как
#define BUILDDATE __DATE__ __TIME__
Работает, но при сборке матерится
use "" to put " in a string
Потому что полученные дата и время обрамлены в двойные кавычки.
Как-то можно более адекватно получать время билда, без мата компилятора?


Название: Re: qmake date/time variables
Отправлено: QuAzI от Ноябрь 29, 2012, 09:35
Код:
# Получение даты сборки в формате DD.MM.YYYY_hh:mm:ss
win32: {
        BUILDDATE = $$system( date /t ) $$system( time /t )
        BUILDDATE = $$member(BUILDDATE,0)_$$member(BUILDDATE,1)
}
unix:  BUILDDATE = $$system( date "+%d.%m.%Y_%H:%M:%S" )
Как только в строке появится пробел или запятая (как в echo %DATE%%TIME%), компилятор ресурсов успешно давится.
Заменить пробел появляющийся после выполнения $$system( date /t ) $$system( time /t ) с помощью $$replace() не удалось, он начинает вставлять подчёркивание между всеми символами. Экранировать кавычками и слешами не получилось. Пришлось извращаться через $$member