Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: kuzulis от Июнь 22, 2009, 10:32



Название: Как добавить в исполняемый файл информацию об авторе и т.п.?
Отправлено: kuzulis от Июнь 22, 2009, 10:32
Доброго времени суток!

Собственно вопрос по теме :)

Я в ассистенте не нашел информацию, как и куда и что добавлять , чтобы исполняемые файлы стали содержать инфу об авторе, версии и т.п.
Но заметил, что при сборке приложения с конфигом += app в директории с проектом создается автоматом файл: ххххх_resource.rc
в котором есть такое:
Цитировать
...
VS_VERSION_INFO VERSIONINFO
   FILEVERSION 0,0,2,0
   PRODUCTVERSION 0,0,2,0
   FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
   FILEFLAGS VS_FF_DEBUG
#else
   FILEFLAGS 0x0L
#endif
   FILEOS VOS__WINDOWS32
   FILETYPE VFT_APP
   FILESUBTYPE 0x0L
   BEGIN
      BLOCK "StringFileInfo"
      BEGIN
         BLOCK "040904B0"
         BEGIN
            VALUE "CompanyName", "\0"
            VALUE "FileDescription", "\0"
            VALUE "FileVersion", "0.0.2.0\0"
            VALUE "LegalCopyright", "\0"
            VALUE "OriginalFilename", "reader.exe\0"
            VALUE "ProductName", "reader\0"
         END
      END
   END
...

и мне удавалось меняя в нем нужные строчки делать то что нужно :)
Но думаю это неправильно... Должна же быть возможность добавления информации не таким "велосипедом" !!! Тем более, что если компилировать приложение
с конфигом +=lib - то файл не создается.. и ничо добавить нельзя ! :)

ЗЫ:
ну кроме парметра FileVersion - т.к. это прописать можно в *.pro

 


Название: Re: Как добавить в исполняемый файл информацию об авторе и т.п.?
Отправлено: ритт от Июнь 22, 2009, 12:18
о_О, kuzulis открыл ещё один велосипед :)
а я обычно в таких случаях делаю:

lib.pro
Код:
win32:RC_FILE	+= version.rc

version.rc
Код:
#ifndef Q_CC_BOR
# if defined(UNDER_CE) && UNDER_CE >= 400
# include <winbase.h>
# else
# include <winver.h>
# endif
#endif // Q_CC_BOR

VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,3,4,0
PRODUCTVERSION 0,3,4,0
FILEFLAGSMASK 0x3fL
#ifdef DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif // DEBUG
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", "company\0"
VALUE "ProductName", "product\0"
VALUE "ProductVersion", "0.3.4.0\0"
VALUE "FileDescription", "product components.\0"
VALUE "FileVersion", "0.3.4.0\0"
VALUE "LegalCopyright", "Copyright (C) 2007-2008 company\0"
VALUE "OriginalFilename", "lib.dll\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/* End of Version info */
и не дожидаюсь пока кумэйк мне сгенерит чего-нибудь...


Название: Re: Как добавить в исполняемый файл информацию об авторе и т.п.?
Отправлено: kuzulis от Июнь 22, 2009, 14:05
спасибки! в принципе так я и думал :)


Название: Re: Как добавить в исполняемый файл информацию об авторе и т.п.?
Отправлено: kuzulis от Июнь 23, 2009, 09:55
2 Константин ,
что-то для статических библиотек (с флагом staticlib) ничо в файл не добавляется... так и должно быть?


Название: Re: Как добавить в исполняемый файл информацию об авторе и т.п.?
Отправлено: ритт от Июнь 23, 2009, 10:23
в статиклиб негде эту инфу хранить. она и не нужна.
так должно быть.