Возможно ли иметь другое имя приложения для 32-битной и 64-битной версий с MF C? - PullRequest
1 голос
/ 09 мая 2020

Возможно ли иметь другое имя приложения для 32-битной и 64-битной версий?

enter image description here

Я бы хотел, чтобы в моем имени приложения было указано (32 бит) или (64 бит) соответственно.

Ответы [ 2 ]

1 голос
/ 09 мая 2020

В среде IDE есть макрос , уже определенный PlatformShortName=x86|x64. Чтобы использовать это в файле ресурсов:

  • определите макрос в настройках проекта в разделе Resources / General / Preprocessor Definitions для всех конфигураций и платформ как
    "TARGET=\"$(PlatformShortName)\""
  • отредактируйте файл .rc как текст и отредактируйте раздел VS_VERSION_INFO VERSIONINFO, заменив
    VALUE "FileDescription", "SomeLabel"

на

    VALUE "FileDescription", "SomeLabel (" TARGET ")"

Описание файла, скомпилированное в двоичный файл, теперь будет SomeLabel (x86) или SomeLabel (x64).

Измененный файл .rc больше не будет распознаваться редактором ресурсов IDE из-за наличия макроса, поэтому вы можете переместить отредактированный VERSIONINFO в .rc2 файл.

1 голос
/ 09 мая 2020

Да! Вы можете использовать условный блок #ifdef ... #else ... #endif в своем файле .rc, поэтому вам, вероятно, придется вручную отредактировать его или поместить свой блок VERSIONINFO в файл .rc2, который включается основным .rc.

Вот так:

VS_VERSION_INFO VERSIONINFO
    FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
    FILEFLAGS       0
    FILEOS          VOS__WINDOWS32
    FILETYPE        VFT_APP
    FILESUBTYPE     0
    {
        BLOCK "StringFileInfo"
        {
            BLOCK "080904b0"
            {
                //...
                #ifdef _WIN64
                VALUE "FileDescription",  "My Application: 64-bit\0"
                #else
                VALUE "FileDescription",  "My Application: 32-bit\0"
                #endif
            }
        }
    }

Но обратите внимание, компилятор ресурсов не определяет автоматически макрос _WIN64, поэтому вам нужно добавить его (или что-то подобное) как зависит от платформы c свойство:

enter image description here

...