I have inherited some ancient Windows C++ code and have created a project for it in Visual Studio 2010. When I build, I get missing header file errors for system files such as "precom.h" and "Classes.hpp". They do not exist on my machine. Is anyone familiar with these files and where they come from? Thanks.
Asked
Active
Viewed 140 times
2 Answers
9
They're not standard Windows files. My guess is that whoever you inherited the code from forgot to check the files into source control.
Go find that person, and glare at them until they find them!

Sean
- 60,939
- 11
- 97
- 136
-
Or read the documentation, or root around for any different build scripts. The previous owner may have done a clever code inlining / precompilation thing (basically, concatenating all the files into a single file), based on the names of the files. – Yann Ramin Dec 20 '13 at 16:39
-
1Ok, but these includes have angle brackets around the header file names, suggesting that they are part of the build environment, not the application – scrayne Dec 20 '13 at 17:21
-
1@DanRitchie - that's not what the brackets mean. Quotes mean look in the current directory, angled brackets mean search implementation defined places. Most compilers allow you to specify additional include directories, which will be searched if you use angled brackets. – Sean Dec 20 '13 at 17:28
-
@Sean: That's close but not quite right. "The named source file is searched for in an implementation-defined manner." -- not necessarily starting with nor limited to the current directory (or even the directory of the unit currently being compiled). http://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename – Adrian McCarthy Dec 20 '13 at 18:06
1
The name precom.h
is suggestive of a precompiled header. If that's true, then it may be a matter of getting the project set up to generate the precompiled header.

Adrian McCarthy
- 45,555
- 16
- 123
- 175