precompiled header file is previous version of the compiler, or the precompiled header is C++ and you are using it from C
Post date: May 11, 2011 9:17:14 AM
Resolution I
For projects with a single C source file and multiple C++ source files (or vice-versa), use the following steps to disable precompiled headers for the single source file:
For the current target, open the Project Settings dialog box and select the Precompiled Headers section under the C/C++ Tab.
Select the C file from the project tree in the left pane.
For Visual C++ version 2.x, disable the Use .PCH File checkbox in the Per-File Use of Precompiled Headers. For Visual C++ version 4.0, 5.0, and 6.0, select the Not using precompiled headers option button.
Save the new settings and build the project.
Resolution II
For projects with multiple C and C++ source files, use the following steps to disable precompiled headers for a set of source files procedure:
With Visual C++ version 2.x:
For the current target, create a New Group by choosing New Group from the Project menu item.
Move the C source files into the new group.
Open the Project Settings and select the Precompiled Headers section under the C/C++ tab dialog.
Select the new group from the project tree in the left pane.
Disable the Use .PCH File checkbox in the Per-File Use of Precompiled Headers.
Save the new settings and build the project.
This will disable precompiled headers for a set of source files. However, source files in subsequent additions to this group may need the PCH usage disabled depending on the file's previous settings.
With Visual C++ version 4.0, groups are no longer supported. To disable the use of precompiled headers for a group of source files, follow the the steps of Resolution I, but in step 2 hold down the CRTL key while selecting each file.
Resolution III
For projects not requiring precompiled headers, follow the steps of Resolution I, but in step 2 select all targets from the project tree in the left pane.
Resolution IV (VC 4.x and 5.0)
Create a subproject of type "Static Library".
Insert the .C files into this subproject.
Delete the .C files from the top-level project.
Add the resulting library or .obj files to the link line for the top-level project.
This will allow you to specify a pre-compiled header for the top-level project (.CPP files), and a different pre-compiled header for the subproject (.C files).
- reference Microsoft