C++ XCode警告突出显示错误文件中的代码

C++ XCode警告突出显示错误文件中的代码,c++,xcode,C++,Xcode,我对XCode(目前版本为7.1)有一个非常奇怪的问题,但在我更新之前,XCode 6也出现了同样的问题 假设我有一个include文件A.h,其中包含在第102行生成警告的代码。该文件包含在B.cpp的第10行中。现在,当我编译时,XCode用一个黄色的警告标记高亮显示文件B.cpp中的第102行,这是完全错误的,因为警告是由文件a.h中的第102行生成的 奇怪的是,如果您转到XCode中的构建日志,那么clangs输出是完全正确的: In file included from /Users/

我对XCode(目前版本为7.1)有一个非常奇怪的问题,但在我更新之前,XCode 6也出现了同样的问题

假设我有一个include文件A.h,其中包含在第102行生成警告的代码。该文件包含在B.cpp的第10行中。现在,当我编译时,XCode用一个黄色的警告标记高亮显示文件B.cpp中的第102行,这是完全错误的,因为警告是由文件a.h中的第102行生成的

奇怪的是,如果您转到XCode中的构建日志,那么clangs输出是完全正确的:

In file included from /Users/philipp/bla/B.cpp:10:
In file included from bla/B.h:16:
/Users/philipp/bla/A.h:102:36: warning: 'this' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to false [-Wtautological-undefined-compare]
因此,人们希望XCode突出显示A.h,第102行。 但是,XCode突出显示了B.cpp,第102行,这与警告完全无关! 奇怪的是,XCode也突出显示了A.h,第102行,但我只有在手动打开该文件并查找该行时才能看到它,因为我在clang输出日志中看到了它。如果我单击侧边栏中的警告,我永远看不到它


这是一个XC++代码的已知问题,我知道XC++中的C++是一个事后的想法,因为它是为Obj-C编写的?< /P> < P>我想你应该检查一下编译器标志。通常,如果C/C++标志不好,可能会发出类似优化标志的叮当声警告-不支持finline函数,这似乎会导致这种疯狂。

我从未经历过类似的情况。你能给我一步一步的说明我如何自己复制这个吗?