在Visual Studio中查找包含iostream的文件

时间:2018-05-04 07:23:12

标签: c++ visual-studio-2015 header-files

我们正在将代码转换为使用日志库而不是std::cout,作为其中的一部分,我们只需从每个源文件中删除#include <iostream>。这个应该允许我们轻松识别仍然使用cout的行(因为他们会有编译错误)并快速修复它们。

但是,即使删除了#include,许多文件仍然有效,这意味着它使用的其他一些标题可能包括它。由于我们在相当大的层次结构中有一个很好的许多标头,有没有办法让Visual Studio实际告诉我们哪个头文件包含iostream以及它在层次结构中的位置。

我知道我可以简单地搜索它们中的很多但我只对实际购买到特定源文件的那些感兴趣。因为我们一点一点地做这件事,所以一次改变每个文件是行不通的。

我已将#define cout JUNK放在文件顶部,以便使用cout输出时出错,但我想删除所有iostream内容文件,如果可能的话。

1 个答案:

答案 0 :(得分:2)

如果右键点击Solution Explorer中的文件并选择Properties,则Advanced标签会显示Show Includes选项:

enter image description here

将此设置为yes将导致编译器输出包含文件的整个层次结构,例如:

1> FileA.cpp
1> Note: including file: d:\repo\FileA.h
1> Note: including file:  d:\repo\SomeOtherHeader.h
1> Note: including file: d:\repo\FileB.h
1> Note: including file:  d:\repo\YetAntherHeader.h
1> Note: including file:   C:\ProgFiles_x86\MSVS14\VC\include\iostream

您只需将输出窗口中的内容复制并粘贴到您喜欢的编辑器中,然后搜索您感兴趣的特定头文件即可。