Russian Qt Forum
Ноябрь 22, 2024, 09:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: qmake date/time variables  (Прочитано 3189 раз)
QuAzI
Гость
« : Ноябрь 28, 2012, 16:13 »

Хочется в about info к исполняемому файлу проставлять таймстамп даты сборки.
Пока в RC-файле определил получение даты/времени как
#define BUILDDATE __DATE__ __TIME__
Работает, но при сборке матерится
use "" to put " in a string
Потому что полученные дата и время обрамлены в двойные кавычки.
Как-то можно более адекватно получать время билда, без мата компилятора?
Записан
QuAzI
Гость
« Ответ #1 : Ноябрь 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
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.133 секунд. Запросов: 20.