What debug symbol package provides the debug symbols for MSCVR100D.DLL?
I have the Windows 7 RTM (7600) and SP1 (7601) debug symbols installed for both the x86 and AMD64 platform which provides the symbols for the various OS libraries I need (e.g. kernel32.dll, user32.dll, ntdll.dll, etc.). Using the Microsoft Public Symbol servers, I see that the specific PDB I'm looking for is:
MicrosoftPublicSymbols\msvcr100d.i386.pdb\9CF06FEE2BF04A2C8C8EFAFB627A3F421\msvcr100d.i386.pdb
I want to install a local symbol package for offline availability like I've done with the OS symbols.
There doesn't seem to be a specific download that provides these symbols, however Visual Studio Professional and higher (I'm unsure about Express editions) ships with the debug information in the following location:
<path to VS install>\VC\lib
which on most machines is:
C:\Program Files (x86)\Microsoft
Visual Studio 10.0\VC\lib
I would have expected these symbols to have been picked up auto-magically by VS, but I had to manually add them to my symbol path by doing:
Debug->Options and Settings->Symbol
Click the folder icon to add a symbol folder
Provide the path C:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\lib
Check the box next to it to enable it
Click 'Load All Symbols'
Click 'OK'
Related
I've got the infamous error message in C++ build: "Cannot open include file: 'ctype.h'". I know a similar question was already asked multiple times, but my case seems different because I am using the latest Visual Studio 2022 and seems to behave differently.
I have a bunch of existing C++ projects, they use plain 32-bit Windows API with DirectX 6, and I used VC++ build tools 2015 and Windows SDK 8.1 to compile it without any issues in previous versions of Visual Studio. Everything was fine in Visual Studio 2019, no special setup was needed, until I uninstalled it and installed Visual Studio 2022.
Now I can open my solutions, it nicely shows they are using C++ build tools 2015, which I installed together with VS2022, and the solutions also shows correctly that they use Windows 8.1 SDK. But Windows 8.1 SDK is not present in VS2022 installation, I installed it separately. I also tried to "repair" VS2022 installation, but that only deleted all my UI preferences, but not fixed anything in build. Also, I tried to reinstall Windows 8.1 SDK, but it said it is already OK.
When looking to Visual Studio, I can't see any place where I can set default include and lib directories, I can only list what is being used right now. VS2022 shows this list:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include
C:\Program Files\Windows Kits\10\Include\10.0.10240.0\ucrt
C:\Program Files (x86)\Windows Kits\8.1\Include\um
C:\Program Files (x86)\Windows Kits\8.1\Include\shared
C:\Program Files (x86)\Windows Kits\8.1\Include\winrt
The actual error message I receive is this:
c:\program files (x86)\windows kits\8.1\include\um\winnt.h(31): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
So it says that winnt.h from windows kits 8.1 cannot find ctype.h. And yes, there is no ctype.h in that folder or anywhere around, I can see it only in C:\Program Files\Microsoft Visual Studio\2022\Professional\SDK\ScopeCppSDK\vc15\SDK\include\ucrt
which I think is the folder with VC++ 2015 build tools. So this seems correct, but I am wondering why this folder is not a part of default include directories when VC++ 2015 build tools are set in project settings. Because it seems that VS2022 is correctly picking my Windows 8.1 SDK, but not picking correctly the older C++ compiler.
When I try to add the folder where ctype.h resides to include folders, I receive another type of errors saying that other files are incompatible with these include files. Of course, this system of directories needs to be in sync. So please what is the correct way of using this?
Also, I tried to switch the VC++ build tools to 2022 version. Unfortunately, that also does not fix the issue. And Windows 10 SDK is not installed, the software wants to stay compatible with older Windows, so I don't need it.
I found a bug report which is related: https://developercommunity.visualstudio.com/t/windows-81-sdk-1/151682
Although Microsoft staff declined to accept it as a bug, it is happening for me as well. When I install only Windows 8.1 SDK, no project can be compiled with it. I even tried to create a new Windows API project in VS2022, the project was created, but failed to compile with the same error.
So I tried to install Windows 10 SDK (from VS2022 installed, but that is probably not important) and this added some missing files which now help to compile Windows 8.1 SDK projects. Problem seems to be solved, my old C++ code can now be compiled with Windows 8.1 SDK and both C++ build tools 2015 and 2022.
I'm trying to build the OpenCV's source files and generate a Visual Studio project using CMake. I'm facing a problem that seems not solved neither with these given following recommendations: here - select the Visual Studio's correct version (e.g. v16 2019) when building with CMake, install MSBuild.exeand add its location to the system PATH -, here - install Windows SDK - and here - install required workload in Visual Studio regarding CMake/C++ and reboot it.
Then I ask for your kind help. I'm currently working with:
OS: Windows 8.1 Pro 64 bits
CMake (GUI) Version 3.17.2, located at C:\Program Files\CMake\bin
Microsoft Visual Studio 2019 version 16.6.0
MSBuild. exe version 16.6.0, located at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
OpenCV 4.3.0, located at D:\opencv;
sdksetup.exe version 8.100, located at C:\Program Files (x86)\Microsoft SDKs\Windows Kits\8.1\StandaloneSDK
My Path in my system's environment variables is: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\MinGW\bin;C:\Program Files\CMake\bin\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\;C:\Program Files (x86)\Microsoft SDKs\Windows Kits\8.1\Windows Performance Toolkit;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\
I open the CMake with admin rights, then select "Visual Studio 16 2019" as generator, and I always got the following error pop-up when clicking in the "Configure" button:
Error in configuration process, projects files may be invalid.
I tried to do it with two different CMakeLists.txt, a simple one and a complete one.
The simple script
# cmake needs this line
cmake_minimum_required(VERSION 3.1)
# Define project name
project(opencv_example_project)
# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)
# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS " config: ${OpenCV_DIR}")
message(STATUS " version: ${OpenCV_VERSION}")
message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
# Declare the executable target built from your sources
add_executable(opencv_example example.cpp)
# Link your application with OpenCV libraries
target_link_libraries(opencv_example PRIVATE ${OpenCV_LIBS})
In this case, the status bar warned:
CMake Error at CMakeLists.txt:5 (project):
Failed to run MSBuild command:
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe
to get the value of VCTargetsPath:
Microsoft(R) Build Engine versÆo 16.6.0+5ff7b0c9e para .NET Framework
Copyright (C) Microsoft Corporation. Todos os direitos reservados.
The complete script
Which can be found here https://github.com/opencv/opencv/blob/master/CMakeLists.txt. I took care to delete all CMakeCache files and to delete cache inside CMake-GUI.
In this case, the status bar warned:
CMake Error at CMakeLists.txt:106 (enable_language):
Failed to run MSBuild command:
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe
to get the value of VCTargetsPath:
Microsoft(R) Build Engine versÆo 16.6.0+5ff7b0c9e para .NET Framework
Just to finish: in "About" section inside Microsoft Visual Studio, we can see which Workloads were loaded:
Microsoft Visual Studio Community 2019
Version 16.6.0
VisualStudio.16.Release / 16.6.0 + 30114.105
Microsoft .NET Framework
Version 4.8.03761
Installed Version: Community
Visual C ++ 2019 00435-60000-00000-AA905
Microsoft Visual C ++ 2019
Test Adapter for Google Test 1.0
Enables Visual Studio testing tools with recorded unit tests for Google Test. The terms of use and Third Party Notices are available in the extension's installation directory.
ASP.NET and Web Tools 2019 16.6.936.3669
ASP.NET and Web Tools 2019
Microsoft Visual C ++ 1.0 wizards
Microsoft Visual C ++ wizards
IntelliCode 1.0 extension
Detailed IntelliCode Extension Information for Visual Studio
Tools C # 3.6.0-4.20251.5 + 910223b64f108fcf039012e0849befb46ace6e66
C # components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual Basic Tools 3.6.0-4.20251.5 + 910223b64f108fcf039012e0849befb46ace6e66
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual Studio tools for CMake 1.0 (interesting)
Visual Studio tools for CMake (uhmm okay)
NuGet Package Manager 5.6.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Visual Studio Code 1.0 Debug Adapter Host Package
Interoperability layer to host Visual Studio Code debug adapters in Visual Studio
Microsoft Visual Studio 1.0 VC package
Microsoft Visual Studio VC package
ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
Test Adapter for Boost.Test 1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.
Visual C ++ for Multiplatform Mobile Development (Android) 16.0.30014.67
Visual C ++ for Multiplatform Mobile Development (Android)
Thanks a lot!
I have Visual Studio 2015 installed, and I need to compile a specific project with Visual C++ 2010 compiler, which is included in SDK 7.1.
I want to use 2010 compiler within VS2015, without install VS2010.
So, I installed it (the SDK), and "Visual Studio 2010 (v100)", "Windows7.1SDK" options appear under "Platform Toolset" property in the project properties.
But, when I try to build the project, I get those errors:
With "Windows7.1SDK" -
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(146,5): error : Required file "" is missing.
and with "Visual Studio 2010 (v100)" -
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(297,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(146,5): error : Required file "" is missing.
Can't figure out what the problem is..
I had the same issue for 2 weeks and just found a workaround that might help :
Without modifying anything to my VS2010 projects (not changing the toolset in the vcxproj), I use the command line build tools MSBuild tools with the toolset specified as a switch as found here Building C++ project on a PC with Windows SDK 7.1 but without VS2010
msbuild /p:PateformToolset=Windows7.1SDK project.vcxproj
(In my case, the corresponding msbuild is in the folder C:\Windows\Microsoft.NET\Framework\v4.0.30319)
If Msbuild throws an error telling its missing mspdb100.dll, you may need to add %PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE\ to your %PATH% env var.
Finally, you may have some files missing like ammintrin.h (especially if like me you try to compile old InDesign plugins) even after installing the visual c++ updates.
The only (and ugly) workaround I found in my case that does not involve installing VS2010 (the common answer of MS) is to copy the missing includes from the %PROGRAMFILES(X86)%\Microsoft Visual Studio 14.0\VC\include folder to the %PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\include one.
Voila ! Hope this helps
On compiling a program in Visual Studio on a laptop, I'm seeing these warnings/errors:
warning MSB8003: Could not find WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
error C1083: Cannot open include file 'winapifamily.': No such file or directory
On leaving the program (don't know if this is related), I see this error:
An error occurred while creating or opening the C++ browsing database file c:....sdf.
Ensure that Microsoft SQL Server Compact 4.0 is installed and no other applications are accessing the file.
What should I reinstall, or set?
My previous answer was deleted, however I believe it to be correct, so let me clarify it.
If you're targeting Windows XP with Visual Studio 2013 and you get winapifamily.h not found, you're probably missing the Windows 7 Platform SDK. The v120_xp toolset cannot find the V7.1A includes so it includes Windows 8 SDK files which include winapifamily.h (an include that was added in Windows 8) but that doesn't exist with the v120_xp toolset. So like I said, installing the Platform SDK (Windows 7) fixes it.
Got a fresh Win7 machine with VS2005 installed. I tried to start a MyApp.exe that is built with manifest that says in Manifest.bin:
...
<assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
...
and the result was error message "The application has failed to start because it's side-by-side configuration is incorrect...
Event viewer told me the reason in detail:
Activation context generation failed for "c:\Xxx\MyApp.exe". Dependent Assembly Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053" could not be found. Please use sxstrace.exe for detailed diagnosis.
so I browsed the winsxs folder and indeed all "4053-folders" were missing. Then i edited Manifest.bin and replaced 4053 with 4927. The errors reocurred with different version. Then I found out that I got "4927-folder" for msvcr80.dll but no "4927-folder" for mfc80.dll.
Two questions:
-Why no "4927-folder" for mfc80.dll?
-How to get all "4053-folders" ?
Thanks & BR -Matti
You should either install Visual C++ redistributable or use merge modules to add the redistributables into your Windows Installer installation package. Or alternatively you should copy MFC libraries in the directory with your application.
Libraries that can be used as private assembly (in your app directory) are located in C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\x86, or in amd64 if your app is 64 bit.
Merge modules for Windows Installer (MSI) are in C:\Program Files (x86)\Common Files\Merge Modules.
Redistributable package that installs all the libraries can be found in C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe for 32 bit programs and in …\vcredist_x64\vcredist_x64.exe for 64 bit programs. You can get these files from Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.
And I think you want to update Visual Studio with this package Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.