You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio构建C++项目自动包含.glsl资源及报错解决

解决Visual Studio构建时自动复制resources目录的问题

问题原因

你的路径包含空格(比如D:\Michele Righi\...),未用引号包裹,导致PowerShell将空格后的内容视为独立参数,引发PositionalParameterNotFound错误。

修复Post-build事件命令

将路径用双引号包裹,确保PowerShell识别完整路径,修改后的命令如下:

PowerShell Copy-Item -Path "$(SolutionDir)$(ProjectName)\resources" -Destination "$(SolutionDir)x64\Release\" -Recurse

更可靠的MSBuild配置方法(推荐)

直接修改项目文件集成复制逻辑,比Post-build事件更稳定,支持增量构建:

  1. 右键项目 → 卸载项目
  2. 右键卸载的项目 → 编辑xxx.vcxproj
  3. 在文件末尾的</Project>标签前添加以下内容:
<Target Name="CopyResources" AfterTargets="Build">
  <Copy
    SourceFiles="@(ResourceFiles)"
    DestinationFolder="$(OutDir)\resources\%(RecursiveDir)"
    SkipUnchangedFiles="true"
  />
</Target>
<ItemGroup>
  <ResourceFiles Include="$(ProjectDir)\resources\**\*" />
</ItemGroup>

该配置会自动收集resources目录下所有文件(含子目录),构建完成后复制到输出目录($(OutDir)对应Release/Debug路径)的resources子目录,SkipUnchangedFiles="true"可避免重复复制未修改文件,提升构建效率。

内容的提问来源于stack exchange,提问作者mikyll98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 20:37:45