Дмитрий
Jan. 26, 2021, 4:03 p.m.

Получение даты сборки программы

дата сборки, время сборки, сборка проекта

Всем привет!
Возник такой вопрос.
Я в виджете вывожу версию софта и время сборки. Для этого делаю так так:
в .pro-файле:

  1. VERSION = 1.2.3
  2. DEFINES += APP_VERSION=\\\"$$VERSION\\\"

в .cpp-файле виджета:

  1. #ifndef TS_BUILD
  2. #define TS_BUILD (QLocale(QLocale::C).toDateTime(__TIMESTAMP__, "ddd MMM d hh:mm:ss yyyy").toTime_t())
  3. #endif
  4.  
  5. ui->labelVersion->setText(ui->labelVersion->text()+APP_VERSION+" Build: "+QDateTime::fromTime_t(TS_BUILD).toString("yyyy.MM.dd hh:mm"));

Это работает, но приходится при сборке изменять этот cpp-файл, где находится label (например пробел поставить).
Можно ли как-то сделать, что когда пересобираешь проект, дата сразу подставлялась? Т.е. чтобы не нужно было менять cpp-файл.

3

Do you like it? Share on social networks!

2
ИП
  • Jan. 26, 2021, 4:36 p.m.
  • (edited)

__

    Дмитрий
    • Feb. 18, 2021, 6:56 p.m.
    • The answer was marked as a solution.

    Проблему решил так:
    В .pro файле:

    1. VERSION = 1.2.3
    2. DEFINES += APP_VERSION=\\\"$$VERSION\\\"
    3.  
    4. #Формирование даты и времени сборки (меняется при полной пересборке проекта)
    5. win32:{
    6. BLD_DATE=$$system(date /t)
    7. BLD_TIME=$$system(time /t)
    8. DEFINES += BUILD_DATE=\\\"$$BLD_DATE\\\"
    9. DEFINES += BUILD_TIME=\\\"$$BLD_TIME\\\"
    10. } else {
    11. #FULL_BUILD_DATE = $$system( date "+%d.%m.%Y_%H:%M:%S" ) и дата, и время (в линуксе)
    12. BLD_DATE=$$system(date)
    13. BLD_DATE = $$system( date "+%d.%m.%Y" )
    14. BLD_TIME = $$system( date "+%H:%M" )
    15. DEFINES += BUILD_DATE=\\\"$$BLD_DATE\\\"
    16. DEFINES += BUILD_TIME=\\\"$$BLD_TIME\\\"
    17. }
    18.  

    в .cpp файле:

    1. ui->labelVersion->setText(ui->labelVersion->text() + APP_VERSION + " Build: " + BUILD_DATE + " " + BUILD_TIME);

      Comments

      Only authorized users can post comments.
      Please, Log in or Sign up
      • Last comments
      • AK
        April 1, 2025, 11:41 a.m.
        Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
      • Evgenii Legotckoi
        March 9, 2025, 9:02 p.m.
        К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
      • VP
        March 9, 2025, 4:14 p.m.
        Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
      • ИМ
        Nov. 22, 2024, 9:51 p.m.
        Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
      • Evgenii Legotckoi
        Oct. 31, 2024, 11:37 p.m.
        Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup