首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft.CppClean.targets会删除我需要的文件

Microsoft.CppClean.targets会删除我需要的文件
EN

Stack Overflow用户
提问于 2013-08-02 21:53:02
回答 3查看 1.2K关注 0票数 1

我有一个VS2012解决方案。其中一个项目A在运行时生成一个.h文件。此头文件由另一个项目B使用。项目A和项目B在同一目录中。

但是,当项目B开始重建时,C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppClean.targets将删除项目A生成的文件。由于此项目B无法再找到该文件,因此构建失败。

如何避免文件在干净的构建过程中被删除?是否应该将这两个项目移动到不同的目录?

请注意,在Visual Studio 2008中不会出现此问题。

EN

回答 3

Stack Overflow用户

发布于 2013-08-02 22:02:09

您是否在解决方案中设置了build order?必须明确设置项目B依赖于A,除非您使用project referencing functionality built into VS直接设置两个项目之间的依赖关系。

票数 1
EN

Stack Overflow用户

发布于 2015-07-28 23:44:07

这个头文件是在temp ("Intermediate")目录中由"Build Event“生成的吗?如果是,则项目B假定它是一个临时文件并将其删除。这是因为项目B的清理在temp目录中找到了头文件,但不知道它是项目A的输出。可能的解决方案:

  • 将输出文件夹与临时文件夹分开,并在输出文件夹中生成标题。
  • 将输出和临时文件夹保留在一起,但将项目A的输出/临时文件夹与项目B的输出/临时文件夹分开。
  • 在自定义生成步骤中生成标题,而不是在生成事件中生成标题,并将标题指定为步骤的输出。
票数 1
EN

Stack Overflow用户

发布于 2017-01-05 17:25:37

我在迁移到VS 2015时也遇到了同样的问题。解决方案是将“配置属性->常规->中间目录”设置为..\$(ProjectName)\,这样Build.CppClean就不会从其他不相关的项目中清除以前的构建dll。这对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18018634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档