【问题标题】:How can unmanaged C++ use a resx file?非托管 C++ 如何使用 resx 文件?
【发布时间】:2016-11-19 23:17:55
【问题描述】:
使用 Visual Studio,我可以将 .resx 资源文件添加到非托管 Visual C++ 项目中。但是如何使用呢?
它编译得很好,但是没有生成可以包含在源代码中的资源头。对于经典的 RC 文件,有带有资源 ID 的标头。
我想使用 resx 文件在托管库和非托管库之间共享资源,例如字符串和图标。想法是在两个项目中包含相同的 resx 文件。
【问题讨论】:
标签:
.net
visual-studio
visual-c++
resources
【解决方案1】:
你不能。缺少将它们从 .resx 格式转换为二进制 .resource 文件并将它们嵌入托管程序集清单的工具。必然如此,本机 C++ 项目不会创建程序集。
请改用 .rc 文件。 C++ IDE 很好地支持,如果你还没有,那么使用 Project + Add New Item, Resource node, "Resource File (.rc)" 模板。双击添加的项目以打开资源编辑器。在运行时使用 Winapi 函数加载资源,例如 LoadString、LoadIcon 等。如果您需要与托管代码共享它们,那么该代码将需要调用这些相同的函数。您可以考虑复制它们以避免这种情况。否则,要求共享没有多大意义。