Click here to Skip to main content
14,921,505 members
Articles / Programming Languages / C++
Tip/Trick
Posted 13 Feb 2010

Tagged as

Stats

38.4K views
2 bookmarked

*.pch file missing!

Rate me:
Please Sign up or sign in to vote.
1.00/5 (1 vote)
15 Feb 2010CPOL
Sometimes, Visual c++ users see a pretty confusing error message when they compile or build their projects. the error message says :fatal error C1083: Cannot open precompiled header file: 'filename.pch': No such file or directorymy solution was :In VS, go to Project->Options, set the...
Sometimes, Visual c++ users see a pretty confusing error message when they compile or build their projects. the error message says :

MSIL
fatal error C1083: Cannot open precompiled header file: 'filename.pch': No such file or directory


my solution was :

MSIL
In VS, go to Project->Options, set the Configuration Combobox in top to 'All Configurations', and then from left pan, choose 'C/C++->Precompiled Haeders' and set 'Create/Use Precompiled headers' option to value : 'Create Precompiled headers (/Yc)'.


which turned out not to be an accurate solution (Read the Messages below).

well, here is the solution :


1) Right click on the PROJECT (in Solution Explorer) | Properties | C/C++ | Pre-compiled Headers... here you set to ** /Yu **
2) Right click on STDAFX.CPP (in Solution Explorer) | Properties | C/C++ | Pre-compiled Headers... here you set to ** /Yc **

its done.

all credits for this tip goes to :SledgeHammer01

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

The Zetta
Iran (Islamic Republic of) Iran (Islamic Republic of)
No Biography provided

Comments and Discussions

 
QuestionWorked For Me! Thank You !!!!!!!!!!!!!!!!!+! Pin
Member 912601929-Mar-17 14:26
MemberMember 912601929-Mar-17 14:26 
GeneralMy vote of 1 Pin
SledgeHammer0114-Feb-10 8:06
MemberSledgeHammer0114-Feb-10 8:06 
GeneralRe: My vote of 1 [modified] Pin
The Zetta14-Feb-10 9:39
MemberThe Zetta14-Feb-10 9:39 
Hi there

thank you for your reaction.

Well, in 'Precompiled Headers' section, you can see three options :

1- Create/Use Precompiled Header
2- Create/Use PCH through file
3- Precompiled Header file

my solution, was mentioning first one : Create/Use Precompiled Header.
By default, this option's value is set to : Use Precompiled Header (/Yu).
As I said, sometimes pch file cant be found (like deleted by mistake, etc),
in this situation, most users (including me) will get confused, getting the error I mentioned above.
By setting this option's value to : Create Precompiled Header (/Yc), VS will always create the pch file first, and then uses it. as you cn see, pch file's path is in option number 3, and the pc file will be used in order. so I think you are wrong about first section. VS Creates and uses it. but, if the pch already exists (which will be in next build), it is better to set the option as default (/Yu).
See : http://msdn.microsoft.com/en-us/library/7zc28563(VS.71).aspx[^]
it says : 'Note If the options /Yc and /Yu occur on the same command line and both reference, or imply, the same file name, /Yc takes precedence. This feature simplifies the writing of makefiles.'
As you can see yourself, there is an extra choice for option 1, 'Not using precompiled headers'.

and about the second section, you are right. but it is set in option numbr 2, and I didnt changed that! so , stdafx.cpp (By default) will be used to create pch file.
modified on Sunday, February 14, 2010 4:26 PM

GeneralRe: My vote of 1 Pin
SledgeHammer0114-Feb-10 10:57
MemberSledgeHammer0114-Feb-10 10:57 
GeneralRe: My vote of 1 Pin
The Zetta14-Feb-10 21:24
MemberThe Zetta14-Feb-10 21:24 
GeneralRe: My vote of 1 Pin
SledgeHammer0115-Feb-10 7:13
MemberSledgeHammer0115-Feb-10 7:13 
GeneralRe: My vote of 1 Pin
The Zetta15-Feb-10 8:34
MemberThe Zetta15-Feb-10 8:34 
GeneralRe: My vote of 1 Pin
SledgeHammer0115-Feb-10 8:40
MemberSledgeHammer0115-Feb-10 8:40 
GeneralRe: My vote of 1 Pin
The Zetta15-Feb-10 21:31
MemberThe Zetta15-Feb-10 21:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.