I would like the people making the compiler to know that my experience with the latest updates have been absolutely awful. Now, we've already had this situation where the C++ compiler is completely non-diagnostic and can throw "error 3" with no explanation. I more or less got used to it, but in recent updates, things have gone from bad to worse.
To illustrate the matter, I take a project, compile it, it works. Now I compile it again and I get
------ Build started: Project: ImageGen, Configuration: Release x64 ------
Catastrophic error: cannot open precompiled header file "x64\Release\ImageGen.pchi"
compilation aborted for imagegen.cpp (code 4)
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 15.0\Toolset.targets(357,5): error MSB6006: "icl.exe" exited with code 4.
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
I'm sorry, but what on Earth is this? I am simply compiling something that worked just a moment ago. I assume that incremental compilation is kicking in here (I've only changed one file out of many that make up the project). My expectation is that the necessary files are rebuilt. Instead, I get some garbage about a pchi file.
So, what I end up doing is just rebuilding the entire project. And this should not be happening. Give me back my incremental compilation or I'll go back to the Microsoft C++ compiler and never come back again!
Appreciate your patience and bringing this to our attention. That said, unless the "Precompiled Header" field in the C/C++ project property is not set to "Using Precompiled Header" the compiler shouldn't be looking for the pre-compiled header file. If there was no intention to use the pre-compiled header then the option to use precompiled header (/Yu) shouldn't be in the compilation command but the error message output indicates otherwise I do notice that you're using 15.0 version. Appreciate if you could do the following:
1) Execute "%icl /QV" should output the version info including the build and update number as well
2) Attach a small test reproducer (a project soln file or generate the preprocessed file (.i file) with (/P option)
3) The latest release out is the 16.0.0 Initial release which you can download and try to see if the issue goes away?
Again, thanks for your patience and appreciate the above input so we can reproduce the issue and investigate further.
@dnesteruk: Hi, any update? Appreciate if you can provide the pre-processed file for investigation. I tried several different scenarios and just can't reproduce the issue you seem to encounter. As long as the use pre-compiled header switch is off it works fine, thanks.