将本地化应用构建为独立的可执行文件






3.50/5 (2投票s)
2002年7月27日
1分钟阅读

50034

614
如何为每个语言版本构建一个独立的执行文件。
概述
Microsoft Visual Studio 6.0 仅提供一个框架,将所有资源构建到一个可执行文件中。 如果您希望将应用程序本地化为完全分离的文件,这可能会令人困扰。 幸运的是,VC++ 广泛的环境允许您通过几个步骤来实现这一点…
步骤
- 将默认的 Demo.rc 文件重命名为 Demo_EN.rc 或其他名称,具体取决于语言版本。
- 创建一个新的默认 Demo.rc 文件,其内容如下
//Microsoft Developer Studio generated resource script. // #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS //////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" //////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS #ifdef APSTUDIO_INVOKED //////////////////////////////////////////////////////////// // // TEXTINCLUDE // 1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END 2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE DISCARDABLE BEGIN "#ifdef MYLANGUAGE_CZ\r\n" "#include ""Demo_CZ.rc""\r\n" "#endif\r\n" "\r\n" "#ifdef MYLANGUAGE_EN\r\n" "#include ""Demo_EN.rc""\r\n" "#endif\r\n" "\0" END #endif // APSTUDIO_INVOKED #ifndef APSTUDIO_INVOKED //////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 3 resource. // #ifdef MYLANGUAGE_CZ #include "Demo_CZ.rc" #endif #ifdef MYLANGUAGE_EN #include "Demo_EN.rc" #endif //////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED
- 将重命名为 Demo_EN.rc 的标准资源文件添加到项目中(菜单/项目/添加到项目/文件)
- 转到 菜单/构建/配置 并添加适当的构建配置(添加... 例如 发布 英语,复制自:发布)
- 转到 菜单/项目/设置,选择您新添加的 发布 英语配置
- 切换到 常规 选项卡,更改中间文件和输出文件的位置 - 只需输入 发布
- 切换到 链接 选项卡并将输出文件名更改为 发布/Demo_EN.exe
- 切换到 资源 选项卡,资源文件名:发布/Demo_EN.res,预处理器定义:插入字符串 MYLANGUAGE_EN,将语言更改为 英语(如果未选中)
- 对您想要构建的每个语言版本重复步骤 3-5
- 对于每个新的语言版本,将这些行添加到 Demo.rc 文件中
"#ifdef MYLANGUAGE_CZ\r\n" "#include ""Demo_CZ.rc""\r\n" "#endif\r\n" "\r\n"
#ifdef MYLANGUAGE_CZ #include "Demo_CZ.rc" #endif
注意:对于 ATL 项目,您必须将 typelib
保留在 Demo.rc 中
1 TYPELIB "Demo.tlb"