是否可以使用 MFC 为 32 位和 64 位设置不同的应用程序名称?

Is it possible to have a different application name for 32 bit v 64 bit with MFC?

是否可以为 32 位和 64 位使用不同的应用程序名称?

我希望我的应用程序名称分别为(32 位)或(64 位)。

是的!您可以在 .rc 文件中使用条件 #ifdef ... #else ... #endif 块,因此您可能必须手动编辑它,或者将 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[=10=]"
                #else
                VALUE "FileDescription",  "My Application: 32-bit[=10=]"
                #endif
            }
        }
    }

但请注意,资源编译器不会自动定义 _WIN64 宏,因此您需要将其添加(或类似的东西)作为 平台特定 属性:

IDE 已经 PlatformShortName=x86|x64 定义了 macro。要在资源文件中使用它:

  • 在所有配置和平台的资源/常规/预处理器定义下的项目设置中定义一个宏作为
    "TARGET=\"$(PlatformShortName)\""
  • .rc 文件编辑为文本并编辑 VS_VERSION_INFO VERSIONINFO 部分以替换
    VALUE "FileDescription", "SomeLabel"

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

编译成二进制文件的文件描述现在将是SomeLabel (x86)SomeLabel (x64)

由于存在宏,IDE 资源编辑器将不再识别修改后的 .rc 文件,因此您可能希望将修改后的 VERSIONINFO 移动到 .rc2 文件。