【发布时间】:2017-03-16 08:31:27
【问题描述】:
在尝试编译外部提供的 C++ 代码库时,我遇到了一个令人困惑的问题:
缺少几个头文件#include <MyLibrary.h>,其中 MyLibrary 是一个明显的依赖项,只是缺少,并阻止编译。
我的问题是: 编译 C++ 代码时,有没有办法自动包含依赖项头文件,而无需在需要的每个 .h/.cpp 文件中 #include 它?换句话说,一种在编译所有源代码时为 C++ 预处理器提供头文件列表以自动包含的方法?
我知道这可能是一个非常糟糕的主意,但我正在尝试确定我提供的代码是否只是损坏了,或者是否有某种方法可以在不手动修复缺少依赖项的每个文件的情况下进行编译.
【问题讨论】:
-
我不知道。建议:您确定您正在编译正确的标准,并且您安装了这些库吗?
-
1) C 不是 C++ 不是 C。2) 你的问题不清楚。标头是源代码。它们不会在运行时以任何方式使用。而
#include是使用外部定义的标准方式。你在想什么其他方法? -
在 Visual Studio 中,这绝对是一种方法——它将在项目的所有 .cpp 文件中包含一个文件。它是预处理器选项之一。
-
有没有办法。不要走那条路!你可能打破的比你修复的要多。按预期方式添加依赖项有什么问题?
-
@Olaf 显然,您必须接触许多您可能不想要的源文件,例如为了完整性,因为您没有对它们的写权限,因为它们太多了实验中...我知道 OP 要求这不是软件工程的最佳实践,而是快速测试。
标签: c++ compiler-errors c-preprocessor header-files