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

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

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: [Qt:4.2.3] Версия в exe  (Прочитано 38987 раз)
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #30 : Июнь 16, 2007, 19:06 »

Цитата: "panter_dsd"
Спасибо. А как потом вытащить эту информацию, например, в заголовок программы?


имхо, никак
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Flakes
Гость
« Ответ #31 : Ноябрь 13, 2008, 01:41 »

а вот у меня нихрена не вышло, со студией работает, а к Qt Creator не могу прикрутить
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #32 : Ноябрь 13, 2008, 07:23 »

Я забил. Делаею в main.cpp
#define ApplicationVersion "0.0.0.1"
...................
QApplication app( argc, argv );
app.setApplicationName(QApplication::tr("My application"));
app.setApplicationVersion(ApplicationVersion);

А в About достаю и показываю эти данные.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
SASA
Гость
« Ответ #33 : Ноябрь 13, 2008, 16:23 »

Можно в каждом проекте хранить файл version.h

Код:
#ifndef VERSION_H
#define VERSION_H

// О программе
static char szVersion[] = "1.0";
static char szBuild[] = "39";
static char szBuildDate[] = "31.10.2008";
static char szCopyriht[] = "© MegaSoft, 2008 - 2009";

#endif

Где надо подключил - и отобразил.
Можно его генерить перед сборкой. Чтоб szBuild и szBuildDate[] делались автматом.
Записан
Flakes
Гость
« Ответ #34 : Ноябрь 13, 2008, 20:09 »

Можно его генерить перед сборкой. Чтоб szBuild и szBuildDate[] делались автматом.

Есть готовое решение, чем генерить?
Записан
SASA
Гость
« Ответ #35 : Ноябрь 15, 2008, 17:32 »

Есть готовое решение, чем генерить?

Пока не лень менять вручную. Строит глазки
Но способ примерно такой:
перед компиляцией запускается маленькая программка; считывает текущий номер сборки; а потом генерит новый файл. Ну а дальше компиляция.
Если напишешь – поделись.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #36 : Ноябрь 15, 2008, 19:25 »

Это можно попробовать через скрипт делать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
SASA
Гость
« Ответ #37 : Ноябрь 17, 2008, 10:17 »

Мы собираемся под две платформы. Под линуха ещё можно ещё написать, а под винду – гемор. Так что проще программку. Просто перед сборкой релиза всего проекта собарать эту маленькую программку. Кстати, после всех этих разговоров, я начал её писать. Правда медленно.  Улыбающийся
Записан
ритт
Гость
« Ответ #38 : Ноябрь 24, 2008, 22:30 »

и снова smplayer! rvm всё это уже написал для вас))
Записан
SASA
Гость
« Ответ #39 : Ноябрь 25, 2008, 16:36 »

и снова smplayer! rvm всё это уже написал для вас))
Непонимающий
Записан
ритт
Гость
« Ответ #40 : Ноябрь 26, 2008, 17:18 »

http://smplayer.svn.sourceforge.net/viewvc/smplayer/smplayer/trunk/getrev/
получает ревижн из свн или энтрей...а затем ревижн используется для версий

и подобных скриптов и программ полно - стоить только чуть копнуть...
Записан
SASA
Гость
« Ответ #41 : Ноябрь 26, 2008, 20:47 »

Сам нашёл у TortoiseSVN.
Код:
SubWCRev - это консольная программа Windows, которая может быть использована для чтения статуса рабочей копии Subversion и, при необходимости, для выполнения подстановки ключевых слов в шаблонных файлах. Это часто используется как часть процесса сборки, в качестве средства для внедрения информации из рабочей копии в собираемый объект. В основном это применяется для включения номера ревизии в диалог «О программе».
Оказывается правда полно....
Записан
SASA
Гость
« Ответ #42 : Декабрь 02, 2008, 17:38 »

Для полноты картины.
есть файл
Код:
#ifndef VERSION_H
#define VERSION_H

// О программе
static char szVersion[] = "1.0";
static char szBuild[] = "$WCREV$";
static char szBuildDate[] = "$WCDATE$";
static char szCopyriht[] = "© MegaSoft, 2008 - 2009";

#endif
У меня он называется versionTemplate.h.
Перед сборкой вызываем
Под винду SubWCRev .\ versionTemplate.h. version.h
Под линукс
Код:
#!/bin/bash
#Вычленим номер ривизии
rev=`svn info  --username builder --password builder ./ | grep '^Revision:'| cut -d" " -f2`
revTmpl='\$WCREV\$'
#Вычленим дату последних изменений
date=`svn info  --username builder --password builder ./ | grep '^Last Changed Date:'| cut -d" " -f4`
dateTmpl='\$WCDATE\$'
sed -e "s/$revTmpl/$rev/" -e "s/$dateTmpl/$date/" "$1" > "$2"
с параметрами  versionTemplate.h. version.h
P.S. Если в скрипте есть косяки - пишите.
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #43 : Декабрь 02, 2008, 20:43 »

Можно его генерить перед сборкой. Чтоб szBuild и szBuildDate[] делались автматом.

Есть готовое решение, чем генерить?
у кодеблока плагин автоверсионник.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
SASA
Гость
« Ответ #44 : Декабрь 03, 2008, 18:14 »

Что такое кодеблок?
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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