首页 > 解决方案 > 通过命令行将 RCDATA 资源导入 Visual Studio 项目

问题描述

当我想手动将新资源导入 Visual Studio 时,我右键单击项目文件夹(在解决方案资源管理器中),然后转到添加->资源->导入(找到我需要的文件)并将类型设置为“RCDATA”。

我的问题是所需文件(要导入)经常更改,我想自动化构建过程以自动导入修改后的文件。

有没有办法通过命令行覆盖导入的资源?还是通过命令行再次导入?(我的自动构建过程将在命令行中运行)

标签: c++visual-studiovisual-c++msbuild

解决方案


有没有办法通过命令行覆盖导入的资源?还是通过命令行再次导入?(我的自动构建过程将在命令行中运行)

恐怕答案是否定的。对于 C++ 项目,如果我们导入一个资源,实际上该资源是由 .rc 文件控制的。请检查:

<ItemGroup>
    <ResourceCompile Include="MyProject.rc" />
  </ItemGroup>
  <ItemGroup>
    <Image Include="..\..\..\..\Desktop\vs.png" />
 </ItemGroup>

Image Item 用于在解决方案资源管理器(用于 UI)中显示 vs.png。实际上资源编译是由 MyProject.rc 控制的,它的内容是这样的:

/////////////////////////////////////////////////////////////////////////////
//
// PNG
//

IDB_PNG1                PNG                     "C:\\Users\\xxx\\Desktop\\vs.png"

我们可以通过命令行将参数传递给项目文件(.vcxproj),但我不知道如何通过命令行将参数传递给 .vcxproj 文件调用的 .rc 文件。(希望我没有误解你的意思,如果我有任何理解,请随时纠正我!)


推荐阅读