How do I stop an IntelliSense PCH Warning?

2020-03-01 06:19发布

问题:

A few of my header files have no includes, so I receive this message in Visual Studio 2010:

IntelliSense: PCH warning: cannot find a suitable header stop location.  An intellisense PCH file was not generated.

If I add a single header, for instance:

#include <iostream>

It disappears. How can I stop this error from showing without adding (potentially unused) include>

回答1:

When adding a .cpp file it inherits the PCH settings of the project. More detailed explanation of the problem here

Solutions:

  1. Add #pragma once at the start of the file.

It will cause your source file to be included only once in a single compilation, therefore the compiler will be satisfied and won't require additional #include

  1. Setting your project to not use precompiled headers
  2. Disable PCH usage for that one cpp file you've added, which will clear both IntelliSense and compiler warning/error.

Note! I'm including num 2, and 3 because some say it helped, but it only num 1 that did solve my case.



回答2:

I suppose the problem is that you have precompiled header in your project (by default "stdafx.h") and to correctly solve the problem you should add

#include "stdafx.h"

at start of your header/source file.



回答3:

Go to project's property and under C/C++ => Precompiled Headers, find the option "Precompiled header".

Change it to "Not Using Precompiled Headers".