I can't include <iostream> in Visual C++ 2010 Express Edition - c++

Few months ago I installed Visual Studio 2012 Ultimate.
Beacuse of some school projects, I had to install Visual C++ 2010 Express Edition.
Now, when I try to compile a project in Visual C++ 2010, I cannot include any usual header
like <iostream>, <cmath>, etc. The folder the compiler searches is C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include.
But all these include files are located in C:\Program Files\Microsoft Visual Studio 11.0\VC\include.
Can someone please explain me what is about with these two paths (what are the differences)
and how to solve the #include <iostream> problem.

From the details you share, I understand that /Microsoft Visual Studio 10.0/VC/include directory doesn't contain the standard header files.
The include directory $(VCInstallDir) in VS 2010 is probably pointing at /Microsoft Visual Studio 10.0/VC. Since, the include folder is empty you don't get to compile your code.
As far as I know, this problem occurs when people install VS2012 and 2010 afterwards. My guess some problem occurs with registries and VS2010 Setup doesn't install header files properly.
You might have 4 options:
Using Visual Studio Tools->Visual Studio Command Prompt, change the $(VCInstallDir) such that it points to "/Visual Studio 11.0/include"
If you know someone who has VS2010(same edition as yours) working properly, copy their "/VC/include" directory to yours.
Uninstall both VS2012 and VS2010 ( full uninstall as described here: http://archive.msdn.microsoft.com/vs2010uninstall) Clean the registries and install VS2010 again.
Make a fresh Windows installation and install VS2010 afterwards.
Sadly only option 4 worked in my case. Option 2 worked too, but I got other problems in another project. Good luck.

I got the same problem. A fresh Windows and VC++ 2010 Express install on a virtual machine solved the problem.

Related

Can't install extension + version selector shows empty list

Edit: After wait too long, I have resorted to do a clean install of Windows 7.
It solves everything.
I believe the cause is : some Windows files, or some service are disabled, by me or virus.
Now, I can no longer test any solution so I accept the existing useful one.
Original Question
My Visual Studio 2017 can run & compile C++ code, but :-
(main problem) can't install any Extension (double click .vsix yield nothing)
double click .sln will popup "Choose Application" that shows no choice. (but "Open with..." works OK)
This issue happens only to my computer in workplace.
It had worked OK before I cleaned up my system.
I tried :-
install, uninstall and repair Visual Studio 2017 several times.
https://github.com/Microsoft/VisualStudioUninstaller
%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\resources\app\layout\InstallCleanup.exe -full then reinstall (can remove "(2)", but not other symptom)
update to the latest version 15.9.17
(Thank comment from Jeaninez - MSFT) Make sure my .sln start with this at the first line:-
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
I believe the issue is related to Microsoft Visual Studio Version Selector.
This symptom might come after I uninstall VS2019.
My system might be broken?
Perhaps, the cause may be somethings very deep in OS. I am considering reinstall Windows 7.
Reference:
Why I think it is Version-Selector-related : Can't install the extension on Visual Studio 2017 after installing Visual Studio 2019
Similar question (2014) : How do I add versions to “Visual Studio Version Selector”, my list is empty (repair not help)
Visual Studio Version Selector Doesn't open (2010)
Best link about (2) : https://developercommunity.visualstudio.com/content/problem/251934/vs2017-community-edition-shows-2-in-title-name.html
To install extensions, try to find VSIXInstaller.exe on your disk. Normally it is installed here:
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VSIXInstaller.exe

visual studio 2012 mingw and format error

I'm taking a c++ class and the instructor has stated that we can use any IDE that we like however, he will be compiling our .cpp and .h files using mingw. I'm using Visual Studio 2012. How should be creating projects using VS2012 to ensure that they will compile with mingw? Can I start the project as win32 or should I use a general empty project? Compilers and dll's are an enigma to me.
I also have code::blocks installed from a previous class and then just to really screw up my default settings and directories I downloaded and installed Visual Studio 2015 in an attempt to upgrade. I have since uninstalled VS2015 and all of the other software that installed at the same time. Now, anytime I start a new project in VS2012 I get the error:
An attempt was made to load a program with an incorrect format
(Exception from HRESULT 0X8007000B)
I suspect that when I installed VS2015 something changed where my x86 VS2012 is looking trying to use x64 or something other than Visual Studio 11.
I'd love to fix that glitch if you can help.
Thanks

Fresh installation of VS 2012 will not build default console application: Missing SDKDDKVer.h (and stdio.h / CRT)

I have been using the trial version of VS 2012 Professional for about 1 month on my Windows 7 64-bit machine.
Today, I noticed that the Platform Toolset option (project properties) was set for Visual Studio 2010 (v100), which seemed odd, because I am running VS 2012. Changing the "Platform Toolset" to VS 2012 resulted in the error noted in the title of this question:
Cannot open include file: 'SDKDDKVer.h': No such file or directory
... while building stdafx.cpp (the error itself occurs in the file targetver.h).
A forum discussion I was browsing earlier hinted that the presence of VS 2010 during a VS 2012 install might have caused the problem. (I do not have links to those posts currently on hand.)
Because I have recently purchased VS 2012 Professional, I uninstalled the trial version of VS 2012, and then reinstalled a paid version VS 2012 (Professional) from a fresh download from the MSDN website. All told, the uninstall/reinstall required 2 hours or so.
During the reinstallation of VS 2012, I paid very close attention to all possible options, to see if any option might conceivably have caused the VS 2012 installer to "skip" the VS 2012 header files or other VS 2012 components, and use VS 2010 components instead. I could find no such option.
Reinstallation of VS 2012 was successful.
I created a new console project in a new workspace (note that my "recent projects list" still showed my recent VS 2012 projects, despite the uninstall/reinstall). The project settings for the new console project showed that the correct toolset was being used - Platform Toolset = Visual Studio 2012 (v110).
Unfortunately, building the out-of-the-box VS 2012 console application (including the precompiled header option, but no other option in the Create Project Wizard), results in exactly the same error:
Cannot open include file: 'SDKDDKVer.h': No such file or directory
What should I do?
.
ADDENDUM: Note for future readers; after changing path settings (see comments beneath answer, below) so that VS 2012 finds SDKDDKVer.h, it nonetheless fails to find stdio.h, a more serious problem because the VC11 version of stdio.h (as well as all the VC11 CRT headers) is not available on the machine anywhere.
Unfortunately, Microsoft has still not resolved these major bugs in their VS 2012 installation process. The only way I found to get a working VS 2012 installation including all VC11 CRT files is to:
Wipe your system completely clean of all MS products (this may be overkill, but I had to at least uninstall VS 2010 in addition to uninstalling VS 2012)
Remove the registry keys noted in the comments to the answer below (to be safe)
Delete residual directories (to be safe)
Restart (to be safe)
Install VS 2012 from scratch FROM THE .ISO, not the installer (assuming the installation files are downloaded from the MSDN site) (use a program like Power2Go to mount the .iso)
THEN, be absolutely sure to install VS 2012 Service Pack 1 (through "Windows Update" control panel) (without doing this step, the VC11 CRT headers are STILL not installed anywhere on the machine)
And finally, map the Windows SDK library directories as described in [this link](Link now points to a scam site, removed) (without doing this latter step, the linker fails to finde the path to the Windows kernel library)
... THEN there is a working installation of VS 2012.
Thanks alot, Microsoft.
After I set up Visual Studio 2013, I had same sdk error for a simple C++ code. I solve same problem with below steps:
Select Project Properties>Configuration>VC++ Directories>Include Directories and add that: c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
Select Project Properties>Configuration>VC++ Directories>Library Directories and add that: c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib
After that configuration I had problem about rc.exe link error. For this problem one more thing is needed:
copy RC.exe and RcDll.dll files from C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin and past them to C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
After all those configuration steps, you can build a simple "Hello World!" example and run if you are lucky.
from MSDN forum:
Looking at the Include Directories for this project, I see the following
$(WindowsSdkDir)include
"WindowsSdkDir" is defined to be "C:\Program Files (x86)\Windows Kits\8.0\"
Unfortunately, the folder
"C:\Program Files (x86)\Windows Kits\8.0\Include\" doesn't actually
have any header files in it. Instead it contains three sub-folders.
One of these is the folder called "shared" which happens to contain
the "SDKDDKVer.h" file shown in the error message.
If this is your situation, replace $(WindowsSdkDir)include by the three folder names (at least $(WindowsSdkDir)include\shared) in your include path in your project properties under VC++ Directories.
To add this path permanently to VS2012, you'll need to make changes to the Microsoft.Cpp.Win32.user.props file under the C:\Users\xxx\AppData\Local\Microsoft\MSBuild\v4.0 folder (where xxx is your user name).
I had this problem with VS2013. Turns out when I separately installed Windows SDK 8.1 first, then Visual Studio 2013, it fixed the problem.
I should also note that I was installing this on a Windows 7 w SP 1 VM and at no point during the installation did it have a connection to the internet (I have read elsewhere some folks think an internet connection during install will fix the problem, but I was personally unable to verify that, and now that I have it working I'm not going to backtrack and test it).

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

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.
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.
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.
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);
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.
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.
Some situation cause such problem. If you have uninstalled vs2010. you lost platform C++ binaries for .net framework 4 forever. You have to delete all of VS 2010 2012 2013, clean system up and its accompany components and reinstall them from scratch.
Or you can download this package. Include them in your project that may solve your problem properly.
one simeple way,just copy vc directory(C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC) from other computer
Fixing your Visual Studio installation is a good idea, but you don't necessarily need to re-install the same old version of VS. I uninstalled VS 2015, then modified my VS 2017 installation to add the VC++ v140 build tools, and now my project builds.

How do I get crtdbg.h file?

I am using MinGW GCC + Eclipse on Windows, and I have run into this error:
C:\Program Files\ITG Derivatives LLC\api_clear-2.0.2.48\include/windows/csassert.h:12:20: fatal error crtdbg.h No such file or directory
What is the crtdbg.h file? How can I get it and solve this problem?
I ran into this exact same issue, but with Visual Studio Community Edition 2019.
The solution was to download the Windows 10 SDK using the Visual Studio installer. Once I did that the next compile worked fine.
The header file "crtdbg.h" is part of the Windows 10 SDK kit. I believe you will find crtdbg.h located here C:\Program Files... or C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\crtdbg.h depending on your setup and version.
<crtdbg.h> is a Microsoft Visual C++ specific header. You may be able to work around this problem using a stub similar to the following:
#ifdef _MSC_VER
#include <crtdbg.h>
#else
#define _ASSERT(expr) ((void)0)
#define _ASSERTE(expr) ((void)0)
#endif
Note that this will disable any asserts in the code you are compiling against, and still won't help you if the code you're compiling uses more advanced features inside crtdbg.h, such as memory leak detection. If these features are in use, you will need to compile the code with MSVC++ rather than MinGW.
I ran into this exact same issue, but with Visual Studio Code.
First start/restart VS Installer and install the Win10 SDK.
Then restart your computer and the needed heasers are available.
I am from Go--g-- search here.
After installing Visual Studio 2019 preview(2022 preview), I have faced the same.
Opening Developer Command Prompt and after going to a particular folder,
cl test.cpp gave above error.
Resolve :
After installing Visual Studio 2022 preview or any other version, do reboot the system.
After rebooting, I could successfully, run the cl command, and compiled a test program without any of the above error.
I ran into this problem recently by trying to install LLVM/Visual Studio Code.
The Windows SDK installation is required for the clang compiler.
To install the Windwos SDK open/download the Visual Studio Installer and check the Windows 10 SDK in Desktop in development with C++
If you have the Windows SDK, and still have this error, go to project propreties -> VC++ -> Include Directories. then paste C:\Program Files (x86)\Windows Kits\10\Include(Version)\ucrt
Just note that I got the same error in Visual Studio 2022 installed on Win 10 Version 21H2. Solution was to install latest Windows 10 SDK from here and then restart the computer.
I ran into this problem, I tried updating the SDK through Visual Studio as mentioned above to no avail. One thing I did was used an old PC to download the SDK, transferred the contents via USB. Took the File directory that Visual Studio was looking in, and copied everything over from the downloaded SDK in the USB to that file path/directory as mentioned in Visual Studio.
Hope this helps.