.net - 非托管 C++ 如何使用 resx 文件?

使用 Visual Studio,我可以将 .resx 资源文件添加到非托管 Visual C++ 项目。但是我该如何使用它呢?

编译正常,但没有生成可包含在源代码中的资源 header 。对于经典的 RC 文件,有带有资源 ID 的 header 。

我想使用 resx 文件在托管库和非托管库之间共享资源,例如字符串和图标。想法是在两个项目中包含相同的 resx 文件。

最佳答案

你不能。缺少将它们从 .resx 格式转换为二进制 .resource 文件并将它们嵌入到托管程序集 list 中的工具。必然如此, native C++ 项目不会创建程序集。

改用 .rc 文件。得到 C++ IDE 的良好支持,如果您还没有,请使用项目 + 添加新项、资源节点、“资源文件 (.rc)”模板。双击添加的项目打开资源编辑器。在运行时使用 winapi 函数(如 LoadString、LoadIcon 等)加载资源。如果您需要与托管代码共享它们,那么该代码将需要调用这些相同的函数。您可以考虑复制它们以避免这种情况。否则要求共享没有多大意义。

https://stackoverflow.com/questions/16187772/

相关文章:

clojure - 为什么我的 clojure.core.logic 非成员函数返回两个值?

debugging - 无法为 jruby 运行调试器

tablesorter - Jquery 插件相互干扰

asp.net - IIS 错误 403.14 - 禁止访问

google-apps-script - 谷歌应用程序脚本 Gmail 在没有先前对话的情况下获取消

r - 分位数回归的置信区间是多少?以及如何找到默认以外的内容?

python - 用 fabric 模拟 KeyboardInterrupt

owl - owl :Class and owl:Thing?有什么区别

versioning - 执行包装器库的 semver(语义版本控制)的最佳做法是什么?

domain-driven-design - 客户端是否应该检查后置条件/调用的方法是否应该检查前置