【问题标题】:Is there a way to auto-include a file into all source files in C++/C#?有没有办法将文件自动包含到 C++/C# 中的所有源文件中?
【发布时间】:2015-04-02 09:56:19
【问题描述】:

我经常需要在每个其他源文件中包含一个带有我自己的定义和其他常用代码的文件。
据我所知,MSVS 2013 以及其他编译器允许将多个文件轻松包含到一个文件中,但还没有看到将一个文件轻松包含到多个文件中。
目前我必须手动将频繁的代码文件包含在几十个文件中,因此我认为自己无知。
必须有一种方法可以指定从任何地方可见的“全局”文件。并考虑编译器/链接器无论如何都会扫描项目中所有 cpp 的事实......
编辑: 根据下面的评论,如何在 MSVS 中实现“强制包含”,如 GCC 的 -include 参数?

【问题讨论】:

  • -include 是强制包含的 GCC 选项(可能也是 clang)。
  • 如何编辑您的课程模板。
  • @user657267 谢谢。在项目属性中找不到任何相关选项,不知道去哪里找。
  • 我不确定问题出在哪里......您应该包括您在何时使用以及是否使用它。这是设计的一部分。您是否担心必须多次输入#include <file.h>?您是否仅在需要时才包含它?
  • @mireazma:我不会走那条路,这意味着源代码不再足以正确构建您的项目。源代码变得无效,并由编译器注入额外的东西(强制包含)修复。老实说,只需将包含复制并粘贴到那些需要它的文件中。 80% 的项目有多少个文件? 8? 40? 80?这不应该是一个常见的操作,如果你最终这样做不止一次或两次,你应该开始重新考虑你的设计过程......

标签: c++ include


【解决方案1】:

我在这里找到了我需要的东西:
https://msdn.microsoft.com/en-us/library/8c5ztk84.aspx
我对其进行了测试并注释掉了Definitions.hpp中的#include,即经常使用的代码,它没有显示任何错误。
不过,感谢您的时间和想法。

【讨论】:

    猜你喜欢
    • 2017-06-02
    • 2012-11-18
    • 2011-02-02
    • 2018-06-10
    • 2021-07-02
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多