除其他事项外,我认为 Visual C++ 解决方案旨在包含给定产品的所有源代码文件。然而,由于“附加包含目录”和内置的 C++ 包含绝对和相对路径的能力——可以包含不属于解决方案的文件(从标准 C++ header 开始)。
这可能是无意的,也可能是故意的。但是,为了控制依赖关系并很好地了解哪些文件是产品的源代码以及哪些文件是内置的 Visual Studio 文件,如果有一种方法可以判断哪些包含不属于当前解决方案。
看这个例子:
- C:/Dev/Projects/Project-A/Project-A.vcproj
- C:/Dev/Projects/Project-A/Project-B.vcproj
- C:/Dev/Projects/Project-A/Project-C.vcproj
- C:/Dev/Projects/Project-A/Project-D.vcproj
如果我创建一个解决方案,它只包含 Project-A 和 Project-B,没有什么可以阻止 Project-A包含来自 Project-C 和 Project-D 的文件。这意味着如果我想分发这个解决方案,我可能会忽略 Project-C 和 Project-D。
我们能否让 VC++ 对未明确包含在解决方案中的源代码文件发出警告——当然,在标准 C++ 头文件之外?或者至少提供最终包含在最终库/可执行文件中的完整文件列表?
提前致谢!
最佳答案
您可以使用 /showIncludes
显示所有包含的文件-开关。
除此之外,我不认为有一种自动方法可以防止包含某些文件。你只需要注意它。
关于c++ - 如何找出哪些包含的文件不是当前 VC++ 解决方案的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6173032/