背景: 我正在处理一个大型 C++ 项目,该项目具有多个可执行文件和库输出以及一组工作 make 文件(即假设您拥有整个代码库,您可以键入 make 并且它将构建所有库和可执行文件)。

我的问题是我必须部分编译项目,并简单地链接已经为项目其他部分编译的库。我已经获得了项目其他部分的 lib 文件,但不是使用这些库所需的所有头文件。

问题: 我如何生成我需要请求的文件列表,以便成功完成编译,然后链接与项目预编译部分相关的项目部分?仅通过运行 make 文件,我就会收到第一个缺少的依赖项的错误,但是如何生成所有依赖项的列表?

我尝试过的事情/示例: 关闭 make 脚本以编译和链接 moduleA 。 make 搅动了一段时间,然后发出一个错误,说它找不到 moduleBCommon.h ,它包含在 moduleAxyz.h 中。它无法找到它,因为它不存在于磁盘上...我尚未获得该文件,必须请求它。

最佳答案

如果您没有 moduleBCommon.h ,那么您将无法知道 #include 有哪些其他 header ,因此我认为在获取任何缺失的 header 之前不可能创建整个列表。

为什么你不能要求所有与库相关的头文件?负责库的人已经因为不提供它们而被搞砸了,如果没有人知道哪些头文件与库一起使用,那么显然有人搞砸了源代码控制,因此管理层应该容忍您的迭代请求。

(除非你的经理是技术上无能、计算机文盲、逻辑上有挑战的 MBA 类型,这是很有可能的。)

关于c++ - 如何生成丢失的#include 文件列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13417745/

10-11 23:03
查看更多