Cannot compile new project targeting WinXP after installing VS2015 Update 3 - c++

Steps to reproduce:
1. install vs2015 u3 RC
2. create a new win32 project
3. set Platform toolset to "Visual Studio 2015 - Windows XP (v140_xp)"
You can find the setting here:
Project -> Configuration properties -> General
4. Build
fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
(without step 3, it will compile just fine)

This is a known problem with Visual Studio 2015 Update 3 RC.
Visual C++ project build fails when using the v140_xp PlatformToolset
Issue:
When using PlatformToolset v140_xp, UCRT is not added to the Include
and Library path.
Workaround:
In Visual Studio, go to the Solution Explorer.
Right click on the project, click on “Properties” Find and Select “VC++ Directories”
Append Includes Directory with “$(MSBuildProgramFiles32)\Windows
Kits\10\Include\10.0.10240.0\ucrt”
Append Library Directory with “$(MSBuildProgramFiles32)\Windows
Kits\10\lib\10.0.10240.0\ucrt\$(PlatformShortName)”
Click OK or Apply to Save.

Related

WIN32 project - 'LNK1104 : cannot openmfc140d.lib' when I compile a project in my solution

I used Visual Studio 2019. I've a WIN32 project. For this project, I used the Nuget manager to install Microsoft.Web.WebView2 (version 1.0.902.49) and Microsoft.Windows.ImplementationLibrary (version 1.0.210803.1) and in the project properties, here is the configuration :
Since I changed the property "Platform Toolset" from Visual Studio 2015 to Visual Studio 2019, I've an error at the compil : 'cannot open file mfc140d.lib'. I don't need MFC for this project. So, in the configuration of the linker, I decided to add in "Ignore Specific Default Libraries" the mfc140d.lib. And then, I tried to compil again but I got another error compil with another MFC dll.
Why do I get all those error message ? Why do I need MFC ? Can you explain what have I to do ?
Thank you
I've tried to uninstall the two packages Microsoft.Web.WebView2 and Microsoft.Windows.ImplementationLibrary and then, compil again but I've always got the same error message

LNK1104 cannot open file boost_thread-vc140-mt-gd-1_61.lib

I am using Microsoft Visual Studio Professional 2017, Version 15.9.25
Visual C++ 2017 - 00369-60000-00001-AA984
ASP.NET and Web Tools 2017 - 15.9.04012.0
ASP.NET Core Razor Language Services - 15.8.31590
ASP.NET Web Frameworks and Tools 2017 - 5.2.61435.0
When I compile the project I'm getting:
1>LINK : fatal error LNK1104: cannot open file 'boost_thread-vc140-mt-gd-1_61.lib'
I've searched all the files in the Project folder and I can see no reference to this file, I am using Boost 1.61 and all I can see in the boost folder is:
c:\boost\boost_1_61_0\stage\lib\boost_thread-vc120-mt-1_61.lib
How do I change the project settings to get it to use the correct file?
Open the project properties, right click Project in Solution Explorer
From the Configuration Properties click on the Platform Toolset and change the setting to Visual Studio 2013 (v120)
Click on the OK button.
Clean project and rebuild.

Changing target to x64 breaks the FLTK build in Visual Studio 2017

I'm trying to build the FLTK version 1.3.4 which you can find from http://www.fltk.org/software.php in Visual Studio 2017.
I unzip everything, navigate to the ide/VisualC2010/ folder, and open the fltk.sln file in Visual Studio 2017.
Visual Studio asks if I would like to upgrade project targets to the latest Microsoft Visual Studio 2017 toolset. The upgrade options are Windows SDK Version: 10.0.16299.0 and Platform Toolset: Upgrade to v141. I press OK.
At this point if I do Build->Build Solution (Ctrl Shift B), everything works. However I noticed that the target is Win32 and I would like to also compile the library so I can link against x64 programs.
I go to Build->Configuration Manager and then in the Active Solution Platform->New... and Type or select new platform: x64 and Copy settings from: Win32 and Create new project platforms [checked] and then I press OK. This takes a while to complete.
Repeating step 3 no longer succeeds, with many projects failing with fatal error c1041: cannot open program database ...
I am pretty much a beginner at Visual Studio and I don't really understand what I'm doing. Can someone clue me in on what is happening here?
Fixed it by going to Tools -> Options and then Build and Run and then I changed maximum number of parallel project builds from 4 to 1.

Cannot open include file: 'ctype.h': No such file or directory

I installed c++ package on VS 2015 , if I tried to build the project ,the following problem appears :
C1083 Cannot open include file: 'ctype.h': No such file or directory Win32Project5 c:\program files (x86)\windows kits\8.1\include\um\winnt.h 31
Any possible solution ....
Repair / Reinstall visual studio.
Make sure that the Windows SDK option (Probably 8.1 in your case) is ticked,
As you can see in this picture:
To add the missing component, go to Control Panel -> Uninstall a Program, and select to Change the installation of Visual Studio.
Then, here is the option you need to check:
Then press "Modify".
Also don't forget to update the project's Properties to be using Windows SDK version 10.0.17134.0.
Right click on your solution or project in the solution explorer
& Retarget your solution or project to the installed SDK version
Here is mine VS 2017 build tools configuration to make Python 3.7 and up to compile on my local machine and fix. Please notice that MS changed VS Studio Build Tools interface
In order to make code to compile you also MUST to install ODBC driver
You can download VS 2017 Build tools from:
https://visualstudio.microsoft.com/downloads/

Is there a way to list library dependencies in Visual Studio?

I'm trying to build a C++ project with Boost and Cinder on Windows Server 2008 with MSBuild without success. I've build the same project on my Windows 7 machine under VS2013 and MSBuild, however on the server it is saying that it can't open a library by the name of "threadsafestatics.lib"
I've never heard of threadsafestatics.lib and my Google-foo hasn't brought me any luck finding anything about it online.
Is there a way to find out what part of my project is depending on this library?
Providing debug level output for the build process helped to work around the problem:
Tools->Options->Projects and Solutions->Build and Run->MSBuild project build output verbosity
threadsafestatics.lib is a new library from the November 2013 CTP. If you are compiling with the CTP, you must add its installed lib folder to Project > Properties > VC++ Directories > Library Directories.
If you installed the CTP to its default location on a 64-bit machine, the path is C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\lib
You can also use the macros $(VC_CTP_Nov2013_LibraryPath_x86), $(VC_CTP_Nov2013_LibraryPath_x64), or $(VC_CTP_Nov2013_LibraryPath_ARM) depending on your target architecture.
If you had installed "CompilerCTP.Nov2013"Patch package, and using toolset of ctp2013,you can try to change toolset into 2013 with the following steps:
project -> property ->config property -> platform toolset ->Visual Studio 2013 (v120).