Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. Qmake created rc files and windres (MinGW)

Qmake created rc files and windres (MinGW)

Scheduled Pinned Locked Moved Qt Creator and other tools
2 Posts 2 Posters 16.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    TobiBS
    wrote on last edited by
    #1

    I am using Qt 4.7.3 with MinGW and I tried to automate the integration of vendor/file information into the exe file. I tried it in the same way as it is done in the Qt sources in my .pro file:
    @VERSION = 0.4.0.1
    QMAKE_TARGET_COMPANY = company
    QMAKE_TARGET_PRODUCT = product
    QMAKE_TARGET_DESCRIPTION = description
    QMAKE_TARGET_COPYRIGHT = copyright@

    That creates a .rc file which looks like this:
    @# if defined(UNDER_CE)

    include <winbase.h>

    else

    include <winver.h>

    endif

    VS_VERSION_INFO VERSIONINFO
    FILEVERSION 0,4,0,1
    PRODUCTVERSION 0,4,0,1
    FILEFLAGSMASK 0x3fL
    #ifdef _DEBUG
    FILEFLAGS VS_FF_DEBUG
    #else
    FILEFLAGS 0x0L
    #endif
    FILEOS VOS__WINDOWS32
    FILETYPE VFT_DLL
    FILESUBTYPE 0x0L
    BEGIN
    BLOCK "StringFileInfo"
    BEGIN
    BLOCK "040904B0"
    BEGIN
    VALUE "CompanyName", "company\0"
    VALUE "FileDescription", "description\0"
    VALUE "FileVersion", "0.4.0.1\0"
    VALUE "LegalCopyright", "copyright\0"
    VALUE "OriginalFilename", "Test.exe\0"
    VALUE "ProductName", "product\0"
    END
    END
    END
    /* End of Version info */
    @

    The problem is, that windres seems to ignore the whole StringFileOnfo-Block. If I only change a little in the .rc file:
    @# if defined(UNDER_CE)

    include <winbase.h>

    else

    include <winver.h>

    endif

    VS_VERSION_INFO VERSIONINFO
    FILEVERSION 0,4,0,1
    PRODUCTVERSION 0,4,0,1
    FILEFLAGSMASK 0x3fL
    #ifdef _DEBUG
    FILEFLAGS VS_FF_DEBUG
    #else
    FILEFLAGS 0x0L
    #endif
    FILEOS VOS__WINDOWS32
    FILETYPE VFT_DLL
    FILESUBTYPE 0x0L
    BEGIN
    BLOCK "StringFileInfo"
    BEGIN
    BLOCK "040904B0"
    BEGIN
    VALUE "CompanyName", "company\0"
    VALUE "FileDescription", "description\0"
    VALUE "FileVersion", "0.4.0.1\0"
    VALUE "LegalCopyright", "copyright\0"
    VALUE "OriginalFilename", "Test.exe\0"
    VALUE "ProductName", "product\0"
    END
    END
    BLOCK "VarFileInfo"
    BEGIN
    /* The following line should only be modified for localized versions. /
    /
    It consists of any number of WORD,WORD pairs, with each pair /
    /
    describing a language,codepage combination supported by the file. /
    /
    /
    /
    For example, a file might have values "0x409,1252" indicating that it /
    /
    supports English language (0x409) in the Windows ANSI codepage (1252). /
    VALUE "Translation", 0x409, 1252
    END
    END
    /
    End of Version info */
    @
    and include it with RC_FILE =, then all data is included. I don't know if it is qmake which forgets the VarFileInfo part, or windres, which goes crazy when this block is missing, but I would really like to have this feature working!

    Thanks for your help, if you need further information or if you have suggestions, please let me know!

    1 Reply Last reply
    0
    • D Offline
      D Offline
      DerekDomino
      wrote on last edited by
      #2

      Hi,

      Do you know how to pass through the preprocessor DEFINES the CompanyName, or FileDescription string in the .pro? I'm struggling with string expansion

      Usually to pass a string via -D, I use the following escaping in the .pro but it doesn't work for the StringFileInfo:
      @
      MYCOMPANY="Hello Inc.\0"
      DEFINES += COMPANYNAME="\"$$MYCOMPANY\""
      @

      Any hints?

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved