Can't get visual studio C++ include file 'excpt.h' to get installed

29,770

Solution 1

For those who have the same problem, here is the solution I found after about 10h of install/uninstall/cleaning cycles... I've uninstalled completely visual studio using this. After that, using the control panel, I've uninstalled the Windows SDK and everything that can be associated with it or with visual studio (e.g. .NET framework). Then, I've removed all the left overs by manually deleting the visual studio and the Windows SDK folders located in C:/Program files. Finally, I deleted all the entries related to the Windows SDK or to Visual Studio in the registry (they are located in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft). Then, I reinstalled Visual Studio... and it was finally working correctly. I should add that I restarted and cleaned the registry using CCleaner after any install or uninstall step.

Solution 2

See if you have it at C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h Check to be sure that the system include-paths are correct in Visual Studio. If all else fails, uninstall everything, all SDK's, etc., and re-install Visual C++.

Third party search programs do a better job than the Windows one for finding things. Try Agent Ransack. It's free.

Solution 3

I had this problem with a project that had been updated to VS2017 from VS2015.

This was a header included via windows.h. I knew this header should have no problems as I had other projects created directly in VS2017 that used windows.h.

Another symptom was that the intellisense was highlighting includes of standard headers (e.g string, vector etc), although these were not generating compile errors.

The fix for me was similar to VS 2010 Cannot open source file “string”.

Initially, I retargeted the project, hoping this would help (right-click the project, select retarget projects), but this did not in itself cure the problem.

I then took a working project and copied the include directories from project properties->Configuration Properties->VC++ Directories and used these to replace the same property for my broken project. This fixed the problem.

Initially, the value for this property was

$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath);

The replacement value was

$(VC_IncludePath);$(WindowsSDK_IncludePath);

Solution 4

I had the same problem, and tried the answer given by OP, but it did not work. However, copying the contents of C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC (specifically bin, lib, and include) from a machine that did work to this machine worked.

Solution 5

It seems the Visual Studio 2012 installer is buggy when it comes to installing into a different drive letter than C:. I have installed the VS2012 into the D: drive and got the same error. I found that for some unknown reason the installer put some of the files into the correct location at:

D:\Program Files (x86)\Microsoft Visual Studio 11.0

but the remaining files were at

C:\Program Files (x86)\Microsoft Visual Studio 11.0

so I have moved the files from the C: into the D: location and it fixed the problem.

Share:
29,770
Christian O'Reilly
Author by

Christian O'Reilly

Updated on March 26, 2020

Comments

  • Christian O'Reilly
    Christian O'Reilly over 4 years

    I'm trying to compile a visual studio C++ project and I can't get anywhere because of the compiler reporting "Cannot open include file: 'excpt.h': No such file or directory". The problem has been reported numerous times on the Internet but I can't find any help regarding my particular situation. The problem is not that the include path of the project are not correctly setup, the problem is that this include file (and probably a bunch of other files) are just missing from my computer. There is no such file on my hard drive. So I tried installing Windows SDK 7.1. The file is not inside the installed SDK (although it should be). I tried repairing the install, uninstall it, reinstall it... all numerous time. I also try to install, repair, uninstall, reinstall Visual Studio 2010 professional numerous time, with and without the Windows SDK installed. I even tried uninstalling the professional version to install the express VC++... nothing seems to work, no 'excpt.h' never get installed on my computer. I am clueless... someone has a hint of a solution? I'm on Windows 7.

    As supplementary information, note that 'excpt.h' is included in by "windows.h". Also, the "excpt.h" file is normally installed with the Windows SDK under a path like "c:\program files (x86)\microsoft sdks\windows\v7.1\include\" and with Visual Studio under a path like "C:\Program Files\Microsoft Visual Studio 10.0\VC\include\".

    EDIT: If it might help, I might add that the folder C:\Program Files\Microsoft Visual Studio 10.0\VC\include related my Visual Studio install has only two files... which is certainly not normal!!! However, I can't find any ways to get the installer to install all the .h files that should appear in this repertory.

  • Christian O'Reilly
    Christian O'Reilly over 11 years
    +1 for suggesting using Agent Ransack for the search. However, I did a thorough search on my computer and excpt.h is not where it should be. I mean that I can find it in different places (Matlab, MinGW, Rtools, and QtSDK subfolders) but nowhere within VC++ or Windows SDK. I fear that including headers from MinGW or some other source to get around this problem might cause more problem than help because of incompatibilities... maybe, I'm not right? Also, regarding uninstalling and reinstalling, I've done a thorough job there too and get no results.
  • Derek
    Derek almost 10 years
    Thanks! Worked for me!
  • j_s_stack
    j_s_stack over 9 years
    Please explain what the solution you're showing does, and why/how that answers the question.
  • MiroJanosik
    MiroJanosik over 8 years
    Repeated reinstallation took hours and it still was not working, this was quick and solved the problem.
  • Dinsdale
    Dinsdale over 4 years
    The project I converted over to 2017 had different items int he Include path for different platforms. The Win32 that built correctly had $(VC_IncludePath);$(WindowsSDK_IncludePath);. The x64 project that didn't build had $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(Windo‌​wsSdkDir)include;$(F‌​rameworkSDKDir)\incl‌​ude;$(WindowsSdkDir_‌​81A)\..\v7.1A\Includ‌​e\