如何停止IntelliSense PCH警告?

Nob*_*ift 17 c++ intellisense header include visual-studio-2010

我的一些头文件没有包含,所以我在Visual Studio 2010中收到此消息:

IntelliSense: PCH warning: cannot find a suitable header stop location.  An intellisense PCH file was not generated.
Run Code Online (Sandbox Code Playgroud)

如果我添加一个标头,例如:

#include <iostream>
Run Code Online (Sandbox Code Playgroud)

它消失了.如何在不添加(可能未使用)include>的情况下停止显示此错误

tat*_*igo 16

添加.cpp文件时,它会继承项目的PCH设置.这里问题的更详细解释

解决方案:

  1. #pragma once在文件的开头添加.

它将导致源文件仅在一次编译中包含一次,因此编译器将满足并且不需要额外的编译 #include

  1. 将项目设置为不使用预编译头
  2. 禁用您添加的那个cpp文件的PCH使用情况,这将清除IntelliSense和编译器警告/错误.

注意!我包括数字2和3,因为有人说它有帮助,但它只有num 1确实解决了我的情况.

  • @GokulJai你可以在这里看到它的含义:http://en.wikipedia.org/wiki/Pragma_once以及关于它的好处的讨论:http://stackoverflow.com/questions/1143936/pragma-once-vs -include-卫士 (2认同)

Ser*_*rid 6

我想问题是你的项目中有预编译的头文件(默认为"stdafx.h")并正确解决你应该添加的问题

#include "stdafx.h"
Run Code Online (Sandbox Code Playgroud)

在标题/源文件的开头.

  • 我为遇到此问题的其他用户编写了此答案,以了解为什么会出现此问题。FE 我遇到了同样的问题,我访问了这个问题,看到了一个解决问题的 anser,但我不知道为什么会这样,所以我想并写了另一个同样解决问题的答案,并解释了它是如何解决的。 (2认同)