【问题标题】:Removing extra files generated while creating a dll project in visual studio删除在 Visual Studio 中创建 dll 项目时生成的额外文件
【发布时间】:2021-07-31 04:21:12
【问题描述】:

在 VS17 中创建 dll 项目时,我看到在初始化时创建了多个文件。

但无论我从事哪个 C++ 项目,我都没有在他们的环境中看到任何此类文件。如何在我的环境中摆脱这些文件。是否有任何解决方法可以完全删除它们或将这 4 个文件压缩为一个文件以减少混乱?

同样在 VS17 之前,我们曾经有 stdafx.h,必须包含此标头,但在少数项目中我找不到此文件,有没有办法完全删除这些初始文件?

【问题讨论】:

  • stdafx.h 是可选预编译头的默认名称,现在默认称为pch.h。无论如何,您始终可以创建一个空项目或使用您自己的项目模板。
  • 创建空项目时,如果我将其构建为 dll。这些文件是否 pch,不需要框架内容。如果是,为什么以及会有什么不同
  • 您不需要保留stdafx.*/pch.*,但如果您不想要它,您也必须更改选项。
  • 有什么选择?我需要在哪里配置相同的

标签: c++ visual-studio visual-studio-2017 pch dllmain


【解决方案1】:

在 Visual Studio 中创建新项目时,名为 pch.h 的预编译头文件会添加到项目中。 (在 Visual Studio 2017 及更早版本中,该文件称为 stdafx.h。)

关于 pch.h 和 stdafx.h 的更多细节,我建议你可以参考文档: Precompiled Header Files

如果你不想使用预编译头文件,我建议你可以选择不使用预编译头文件(配置属性 > C/C++ > 预编译头文件)。

在创建dll项目的时候,也可以直接选择不勾选Precompiled header或者勾选Empty project。

【讨论】:

  • @puja deo 你有更新吗?如果您的案例已经解决,请帮忙标记答案。如果没有,请随时与我们联系。您的理解与合作将不胜感激。
【解决方案2】:

stdafx.h/cpp 分别。 pch.h/cpp 是支持预编译头文件的默认生成文件。如果你不想要它们,你可以删除它们。为了编译,您必须转到您的项目设置Configuration Properties -> C/C++ precompiled headers 并将Precompiled Header 设置更改为Not using Precompiled Headers

在删除这些文件之前,您应该检查cpp/h 文件并将包含文件放入您的文件中。

【讨论】:

  • 你的意思是来自 pch 的包含语句吗?我需要将包含语句移动到我的文件中吗?在那种情况下,我如何决定我需要在哪个头文件中移动它们?我的环境中有 10 个头文件
  • 是的。您的代码中的某处可能需要它们。我通常只通过编译来完成,然后通过添加适当的包含来修复错误。因为我不知道你的项目,所以我很难告诉你你必须把你的包含放在哪里或者可能缺少什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 2016-06-30
相关资源
最近更新 更多