Название: [Qt:4.2.3] Версия в exe Отправлено: Пантер от Июня 12, 2007, 19:36 Почему-то не могу найти как добавить в exe версию. :( Может не там ищу. Укажите, пожалуйста, путь истинный.
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: pastor от Июня 12, 2007, 20:48 Цитата: "panter_dsd" Почему-то не могу найти как добавить в exe версию. :( Может не там ищу. Укажите, пожалуйста, путь истинный. Смотри в строну ресурсов *.rc Название: [Qt:4.2.3] Версия в exe Отправлено: Racheengel от Июня 12, 2007, 22:56 Если студией собираешь, там есть такое в настройках проекта.
Название: [Qt:4.2.3] Версия в exe Отправлено: Пантер от Июня 13, 2007, 11:16 Цитата: "Racheengel" Если студией собираешь, там есть такое в настройках проекта. Собираю не студией, а QDevelop. Там я такого не нашел. Так как в ресурсах можно установить версию exe? Название: [Qt:4.2.3] Версия в exe Отправлено: AlexVR от Июня 13, 2007, 11:58 Создаёшь файл ресурса (например myres.rc)
Открываешь файл проекта (например myres.pro) в текстовом редакторе и добавляешь в КОНЕЦ файла строки Код:
Чтобы неперекомпиливать проект при смене с build на release можно еще добавить Код:
Название: [Qt:4.2.3] Версия в exe Отправлено: Emc от Июня 13, 2007, 13:12 фига себе это уже qmake научился понимать debug{}??
есть ключик VERSION но он работает только для библиотек в твоем случае как то так: TARGET = $$join(TARGET,,,_ver1.1.1) Название: [Qt:4.2.3] Версия в exe Отправлено: Steven_Orko от Июня 13, 2007, 13:17 Цитата: "Emc" фига себе это уже qmake научился понимать debug{}?? Вообще-то уже с первой четверки )))))))) Название: [Qt:4.2.3] Версия в exe Отправлено: Emc от Июня 13, 2007, 13:31 сдается мне вы гоните
пришлите пожалуйста рабочий профайл или ткните меня носом в мануал только что написал Код:
без эффекта кстати зачем тогда тролли везде пишут CONFIG(release, debug|release) ??? Название: [Qt:4.2.3] Версия в exe Отправлено: Steven_Orko от Июня 13, 2007, 13:56 Цитата: "Emc" сдается мне вы гоните пришлите пожалуйста рабочий профайл или ткните меня носом в мануал Читайте ЗДЕСЬ учебники, МЧ. (http://doc.trolltech.com/4.3/qmake-advanced-usage.html#configuration-and-scopes) Название: [Qt:4.2.3] Версия в exe Отправлено: Emc от Июня 13, 2007, 14:19 оки --- вот проектный файл
Код:
так вот он собирает релизную версию в таком случае вопрос - как он вообще может что либо собрать ведь файлов в релизе нет вариант один -- debug ему незнаком и он его игнорирует --------------------- собственно хотелось бы увидеть рабочий профайл -- мне так и не удалось заставить debug{} работать =( Название: [Qt:4.2.3] Версия в exe Отправлено: AlexVR от Июня 13, 2007, 20:49 Цитата: "Emc" собственно хотелось бы увидеть рабочий профайл -- мне так и не удалось заставить debug{} работать =( Для начала, я привел пример, который реально использую. Так же замечены следующий момент: qmake пытается "оптимизировать" и "проверить на ошибки" (если так можно сказать) переданный ему pro-файл. В частности: Код:
Заставит в debug режиме создавать файлы в каталогах: build/ui/debug и build/obj/debug/ А в release: build/ui/debug и build/obj/release/ А в мануале достаточно ввести qmake для поиска :) Название: [Qt:4.2.3] Версия в exe Отправлено: Emc от Июня 13, 2007, 22:49 хехе
Код:
попробуй и увидишь что работает точно так же хотя OBJECT_DIR = build/obj/debug/ --- main.o будет создан в папке release так что твои условия ни на что не влияют а вообще советую переходить на linux там за вас не будут файлы по папочкам раскладывать - придется всё четко расписывать _________________________ все еще жду профайл с работающим debug{} Название: [Qt:4.2.3] Версия в exe Отправлено: pastor от Июня 14, 2007, 09:52 Цитата: "Emc" все еще жду профайл с работающим debug{} Код: CONFIG += qt release warn_on Название: [Qt:4.2.3] Версия в exe Отправлено: Steven_Orko от Июня 14, 2007, 10:11 Цитата: "Emc" так что твои условия ни на что не влияют А ты вместо "+=" поставь "=". Тогда увидишь, что все работает )))) Цитата: "Emc" а вообще советую переходить на linux там за вас не будут файлы по папочкам раскладывать - придется всё четко расписывать Ха, вот специально для тебя попробывал на своей рабочей тачке что-нибудь для Qt 4.3 скомпилить. Ничего не пришлось по папкам раскидывать. )))) Плюс, ты забываешь, что некоторым дофене, что есть другие ОС, кроме Винды, т.к. заказчик, работодатель и т.д. требует только под Винду программный код ))))) Цитата: "Emc" все еще жду профайл с работающим debug{} Код:
Камандная строчка для использования: Код:
Код:
А вообще, складывается впечатление, что ты хочешь жар чужими руками загрести, ну, или очень невнимательно читаешь assistant. ИМХО. (Ничего личного) :) Название: [Qt:4.2.3] Версия в exe Отправлено: Emc от Июня 14, 2007, 11:15 Цитата: "pastor" Код: CONFIG += qt release warn_on Да да да - именно это я и пытаюсь им объяснить to Steven_Orko твой пример работает по той же причине, что и предыдущий и твои условия также не на что не влияют. просто по счастливому стечению обстоятельств твои папки называются debug/release qmake это видит и начинает анализировать --- назови папки folder1/folder2 и всё лафа кончится - начнутся ошибки. про жар и руки непонял =( Название: [Qt:4.2.3] Версия в exe Отправлено: pastor от Июня 14, 2007, 11:24 Цитата: "Emc" Да да да - именно это я и пытаюсь им объяснить То что я привел оно работает у тебя? Подходит тебе такой вариант? ЗЫ: У меня никаких проблем нет. Проверено на всех 3х платформах Название: [Qt:4.2.3] Версия в exe Отправлено: Emc от Июня 14, 2007, 11:31 ситуация в другом CONFIG(debug, debug|release) конечно работает - тут вопросов нет
просто люди утверждают что работает проверка "debug{}" - а я им не верю - вот и спорим по-тихоньку Название: [Qt:4.2.3] Версия в exe Отправлено: AlexVR от Июня 14, 2007, 13:30 Цитата: "Emc" ситуация в другом CONFIG(debug, debug|release) конечно работает - тут вопросов нет просто люди утверждают что работает проверка "debug{}" - а я им не верю - вот и спорим по-тихоньку Код:
Код:
И главное все вполне хорошо работает с QDevelop. (за исключением трех строк в составе проекта :), но для чего и рекомендовал помещать условия в конец файла) Я так использую, и меня всё вполне устраивает. И в чём тут еще проблемы??? Название: [Qt:4.2.3] Версия в exe Отправлено: Steven_Orko от Июня 14, 2007, 13:48 Цитата: "Emc" to Steven_Orko твой пример работает по той же причине, что и предыдущий и твои условия также не на что не влияют. просто по счастливому стечению обстоятельств твои папки называются debug/release qmake это видит и начинает анализировать --- назови папки folder1/folder2 и всё лафа кончится - начнутся ошибки. про жар и руки непонял =( Ну, кстати, у меня и такой вариант работает... Изначально я все собирал в bin/Release и bin/Debug... Мне так было удобнее, а потом я поправил свой скрипт так, чтобы он создавал файл проекта, как я выше постил... Скрипт мой, я его тоже тут на форуме в теме про IDE для Qt постил... Мне надо было, чтобы все объектники собирались в соответсвующих папках Debug и Release, чтобы Slickedit-ом можно было бы отлаживать проект интерактивно...)))) Т.О. у меня работало и если поменять названия папок на другие... Просто debug и release - это специальные строковые значения CONFIG, которые распознает qmake... Вообще, если тебе так очень надо назвать конфигурацию по-своему, или добавить третью, четвертую и т.д., то в хелпе по qmake для Qt 3 и Qt 4, а тем более для последней есть целый раздел, как это можно сделать.... У qmake есть специальная функция, которая проверяет, содержит ли переменная определенной значение contains( variablename, value ) )))) Запись Код: debug { или же Код: win32 { - это обозначение определенной области видимости. Как и в языке, эта область должна быть определена где-то, чтобы выполнялось что-то... Соответственно, debug и release - это предопределенные области видимости... Тоже самое относится и win32 и иже с ним... Т.е. если ты захочешь вдруг на Ubuntu попробовать область видимости ubuntu, у тебя это явно не сработает... но это можно обойти с помощью функции, что я раньше писал ))) P.S. Кто может, покритикуйте )))))) Название: [Qt:4.2.3] Версия в exe Отправлено: Emc от Июня 14, 2007, 15:03 чорт - я уже устал
все последний пост больше отвечать не буду Код:
запусти это и увидишь, что в ветку else ты не попадешь никогда - вся сборка только в folder1 -- то что у вас что то срабатывает - это не ваша заслуга, а qmake 'а который анализирует пути и за вас распихивает файлы. P.S. программный лог Код:
Название: [Qt:4.2.3] Версия в exe Отправлено: AlexVR от Июня 14, 2007, 19:54 Вот теперь мене совсем снесло голову... :?
Мне более интересен вариант когда debug или release выбирается параметром make (make release, make debug), что довал ошибочный подход через debug{}, подход же через CONFIG(debug, debug|release) реагирует только через qmake. :?: И как тогда правильно написать pro-файл? Название: [Qt:4.2.3] Версия в exe Отправлено: fanat9 от Июня 14, 2007, 20:06 Пробывал так, make debug и make release - вроде всё работает.
CONFIG += debug release qt warn_on debug { DESTDIR = debug OBJECTS_DIR = debug/obj MOC_DIR = debug/obj RCC_DIR = debug/obj } release { DESTDIR = release OBJECTS_DIR = release/obj MOC_DIR = release/obj RCC_DIR = release/obj } Название: [Qt:4.2.3] Версия в exe Отправлено: QCasper от Июня 14, 2007, 21:25 Флуда то... ответьте на сабж кто-нить, пож., мне тоже интересно
Название: [Qt:4.2.3] Версия в exe Отправлено: fanat9 от Июня 14, 2007, 21:37 Код:
Это что ли ? Название: [Qt:4.2.3] Версия в exe Отправлено: Пантер от Июня 15, 2007, 18:19 Ну наконец-то ответ!!! Я уже думал, что этот пост не закончится. Уже попробовал, все очень хорошо работает. Только теперь еще 2 вопроса по теме:
1. Как указать другие параметры - создатель, компания, имя продукта и пр. 2. Как в куте выловить из файла version-информацию, сегодня весь день в литературе прокопался. но не нашел. Название: [Qt:4.2.3] Версия в exe Отправлено: fanat9 от Июня 15, 2007, 20:27 Вопрос на опережение: может быть сразу попробывать сделать инсталлятор ?
Вот могу предложить хорошую штуку NSIS - http://nsis.sourceforge.net/Main_Page Название: [Qt:4.2.3] Версия в exe Отправлено: AlexVR от Июня 16, 2007, 10:35 Цитата: "panter_dsd" 1. Как указать другие параметры - создатель, компания, имя продукта и пр. А чем вариант через rc-файл не устраивает? Внём все и указывется. Название: [Qt:4.2.3] Версия в exe Отправлено: Пантер от Июня 16, 2007, 14:44 Цитата: "AlexVR" Цитата: "panter_dsd" 1. Как указать другие параметры - создатель, компания, имя продукта и пр. А чем вариант через rc-файл не устраивает? Внём все и указывется. А можно пример? добавлено спустя 2 минуты: Цитата: "fanat9" Вопрос на опережение: может быть сразу попробывать сделать инсталлятор ? Вот могу предложить хорошую штуку NSIS - http://nsis.sourceforge.net/Main_Page А зачем мне делать инсталятор? Версия должна быть вшита в прогу, а не в него. Кстати, innosetup тоже хорошая вещь. Название: [Qt:4.2.3] Версия в exe Отправлено: pastor от Июня 16, 2007, 18:40 Цитата: "panter_dsd" А можно пример? Это содержимое файла ресерсов *.rc: Код: VS_VERSION_INFO VERSIONINFO Как подключить его к проету, читаем выше Название: [Qt:4.2.3] Версия в exe Отправлено: Пантер от Июня 16, 2007, 18:56 Спасибо. А как потом вытащить эту информацию, например, в заголовок программы?
Название: [Qt:4.2.3] Версия в exe Отправлено: pastor от Июня 16, 2007, 19:06 Цитата: "panter_dsd" Спасибо. А как потом вытащить эту информацию, например, в заголовок программы? имхо, никак Название: Re: [Qt:4.2.3] Версия в exe Отправлено: Flakes от Ноября 13, 2008, 01:41 а вот у меня нихрена не вышло, со студией работает, а к Qt Creator не могу прикрутить
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: Пантер от Ноября 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 достаю и показываю эти данные. Название: Re: [Qt:4.2.3] Версия в exe Отправлено: SASA от Ноября 13, 2008, 16:23 Можно в каждом проекте хранить файл version.h
Код: #ifndef VERSION_H Где надо подключил - и отобразил. Можно его генерить перед сборкой. Чтоб szBuild и szBuildDate[] делались автматом. Название: Re: [Qt:4.2.3] Версия в exe Отправлено: Flakes от Ноября 13, 2008, 20:09 Можно его генерить перед сборкой. Чтоб szBuild и szBuildDate[] делались автматом. Есть готовое решение, чем генерить? Название: Re: [Qt:4.2.3] Версия в exe Отправлено: SASA от Ноября 15, 2008, 17:32 Есть готовое решение, чем генерить? Пока не лень менять вручную. ::) Но способ примерно такой: перед компиляцией запускается маленькая программка; считывает текущий номер сборки; а потом генерит новый файл. Ну а дальше компиляция. Если напишешь – поделись. Название: Re: [Qt:4.2.3] Версия в exe Отправлено: Пантер от Ноября 15, 2008, 19:25 Это можно попробовать через скрипт делать.
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: SASA от Ноября 17, 2008, 10:17 Мы собираемся под две платформы. Под линуха ещё можно ещё написать, а под винду – гемор. Так что проще программку. Просто перед сборкой релиза всего проекта собарать эту маленькую программку. Кстати, после всех этих разговоров, я начал её писать. Правда медленно. :)
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: ритт от Ноября 24, 2008, 22:30 и снова smplayer! rvm всё это уже написал для вас))
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: SASA от Ноября 25, 2008, 16:36 и снова smplayer! rvm всё это уже написал для вас)) ???Название: Re: [Qt:4.2.3] Версия в exe Отправлено: ритт от Ноября 26, 2008, 17:18 http://smplayer.svn.sourceforge.net/viewvc/smplayer/smplayer/trunk/getrev/
получает ревижн из свн или энтрей...а затем ревижн используется для версий и подобных скриптов и программ полно - стоить только чуть копнуть... Название: Re: [Qt:4.2.3] Версия в exe Отправлено: SASA от Ноября 26, 2008, 20:47 Сам нашёл у TortoiseSVN.
Код: SubWCRev - это консольная программа Windows, которая может быть использована для чтения статуса рабочей копии Subversion и, при необходимости, для выполнения подстановки ключевых слов в шаблонных файлах. Это часто используется как часть процесса сборки, в качестве средства для внедрения информации из рабочей копии в собираемый объект. В основном это применяется для включения номера ревизии в диалог «О программе». Название: Re: [Qt:4.2.3] Версия в exe Отправлено: SASA от Декабря 02, 2008, 17:38 Для полноты картины.
есть файл Код: #ifndef VERSION_H Перед сборкой вызываем Под винду SubWCRev .\ versionTemplate.h. version.h Под линукс Код: #!/bin/bash P.S. Если в скрипте есть косяки - пишите. Название: Re: [Qt:4.2.3] Версия в exe Отправлено: panAlexey от Декабря 02, 2008, 20:43 Можно его генерить перед сборкой. Чтоб szBuild и szBuildDate[] делались автматом. Есть готовое решение, чем генерить? Название: Re: [Qt:4.2.3] Версия в exe Отправлено: SASA от Декабря 03, 2008, 18:14 Что такое кодеблок?
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: pastor от Декабря 03, 2008, 18:20 Название: Re: [Qt:4.2.3] Версия в exe Отправлено: Hellrider от Декабря 29, 2012, 14:57 Как на текущей версии Qt 4.8, можно добавить версию и т.д. в exe через Qt Creator? По старой информации добавить .qr файл и .h файл с инструкциями у меня не работает :-[
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: kambala от Декабря 29, 2012, 15:13 зачем ты свою тему удалил? я туда ссылку хотел запостить, а не успел. http://www.prog.org.ru/index.php?topic=19099.msg128736#msg128736
Название: Re: [Qt:4.2.3] Версия в exe Отправлено: Hellrider от Декабря 29, 2012, 15:35 зачем ты свою тему удалил? я туда ссылку хотел запостить, а не успел. http://www.prog.org.ru/index.php?topic=19099.msg128736#msg128736 Ну я на радостях нашел как сделать http://www.askdev.ru/c-plus-plus/3105/%D0%9A%D0%B0%D0%BA-%D0%B2-QT-%D0%B4%D0%BB%D1%8F-exe-%D1%88%D0%BD%D0%B8%D0%BA%D0%B0-%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C-%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B0-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%86%D0%B8%D1%8E/ и удалил тему, что бы не захламлять форум, а потом понял что у меня "фейл" ;D Название: Re: [Qt:4.2.3] Версия в exe Отправлено: Hellrider от Декабря 29, 2012, 17:02 По ссылке помогло. Спасибо. Только при компиляции выдает
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h:76: предупреждение: RC4011: identifier truncated to '_CRT_SECURE_CPP_OVERLOAD_SECURE' но собирается и работает нормально. |