Linux-MSBuild-project not starting in VisualStudio - c++

I have a basic MSBuild project in c++ for Linux. I was able to compile and debug it without any problems until I re-installed Debian on the server. I have since installed g++, GCC, gdb, gdbserver, make, rsync, and zip.
Visual-Studio compiles the project remotely without any problems, but when it tries to start it, I get the following prompt.
I tried using different versions of Visual-Studio, like prev2022 and 2019, and installing Linux on a completely different machine in my network.
Here is the content of the .vcxproj file:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x86">
<Configuration>Debug</Configuration>
<Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x86">
<Configuration>Release</Configuration>
<Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{63047eae-971e-48d1-b78a-91ea7faeda86}</ProjectGuid>
<Keyword>Linux</Keyword>
<RootNamespace>xy</RootNamespace>
<MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
<ApplicationType>Linux</ApplicationType>
<ApplicationTypeRevision>1.0</ApplicationTypeRevision>
<TargetLinuxPlatform>Generic</TargetLinuxPlatform>
<LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<UseOfStl>libstdc++_shared</UseOfStl>
<RemoteRootDir>~/debug</RemoteRootDir>
<PlatformToolset>Remote_GCC_1_0</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared" />
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<RemoteCopySourceMethod>rsync</RemoteCopySourceMethod>
<RemoteCCompileToolExe>g++</RemoteCCompileToolExe>
<RemoteCppCompileToolExe>g++</RemoteCppCompileToolExe>
<ValidateArchitecture>true</ValidateArchitecture>
<MultiProcNumber>4</MultiProcNumber>
</PropertyGroup>
<ItemGroup>
<ClCompile Include="AuthorizationManager.cpp" />
<ClCompile Include="Cookie.cpp" />
<ClCompile Include="CreateDirectoryModule.cpp" />
<ClCompile Include="DeleteDirectoryModule.cpp" />
<ClCompile Include="Directory.cpp" />
<ClCompile Include="FileHelper.cpp" />
<ClCompile Include="FileSystemManager.cpp" />
<ClCompile Include="FileUploadManager.cpp" />
<ClCompile Include="FinishModule.cpp" />
<ClCompile Include="HttpRequest.cpp" />
<ClCompile Include="HttpRequestCreator.cpp" />
<ClCompile Include="HttpResponse.cpp" />
<ClCompile Include="HttpServer.cpp" />
<ClCompile Include="LoginModule.cpp" />
<ClCompile Include="LogoffModule.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="MoveDirectoryModule.cpp" />
<ClCompile Include="NavModule.cpp" />
<ClCompile Include="ParentModule.cpp" />
<ClCompile Include="PathHelper.cpp" />
<ClCompile Include="PauseModule.cpp" />
<ClCompile Include="RefreshModule.cpp" />
<ClCompile Include="RenameDirectoryModule.cpp" />
<ClCompile Include="ResumeModule.cpp" />
<ClCompile Include="SocketListener.cpp" />
<ClCompile Include="StartModule.cpp" />
<ClCompile Include="StopModule.cpp" />
<ClCompile Include="StringCompairer.cpp" />
<ClCompile Include="StringConverter.cpp" />
<ClCompile Include="Timer.cpp" />
<ClCompile Include="UserManager.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="AuthorizationManager.h" />
<ClInclude Include="byte.h" />
<ClInclude Include="byteSection.h" />
<ClInclude Include="Cookie.h" />
<ClInclude Include="CreateDirectoryModule.h" />
<ClInclude Include="DeleteDirectoryModule.h" />
<ClInclude Include="Directory.h" />
<ClInclude Include="FileHelper.h" />
<ClInclude Include="FileInfo.h" />
<ClInclude Include="FileSystemManager.h" />
<ClInclude Include="FileUploadManager.h" />
<ClInclude Include="FinishModule.h" />
<ClInclude Include="HttpMethod.h" />
<ClInclude Include="HttpModule.h" />
<ClInclude Include="HttpRequest.h" />
<ClInclude Include="HttpRequestCreator.h" />
<ClInclude Include="HttpRequestHandler.h" />
<ClInclude Include="HttpResponse.h" />
<ClInclude Include="HttpServer.h" />
<ClInclude Include="LoginModule.h" />
<ClInclude Include="loginResult.h" />
<ClInclude Include="LogoffModule.h" />
<ClInclude Include="MoveDirectoryModule.h" />
<ClInclude Include="NavModule.h" />
<ClInclude Include="ParentModule.h" />
<ClInclude Include="PathHelper.h" />
<ClInclude Include="PauseModule.h" />
<ClInclude Include="RefreshModule.h" />
<ClInclude Include="RenameDirectoryModule.h" />
<ClInclude Include="RequestHandler.h" />
<ClInclude Include="ResumeModule.h" />
<ClInclude Include="serverSettings.h" />
<ClInclude Include="SocketListener.h" />
<ClInclude Include="SortedVectorHelper.h" />
<ClInclude Include="StartModule.h" />
<ClInclude Include="StopModule.h" />
<ClInclude Include="StringCompairer.h" />
<ClInclude Include="StringConverter.h" />
<ClInclude Include="Timer.h" />
<ClInclude Include="uid.h" />
<ClInclude Include="UploadFile.h" />
<ClInclude Include="User.h" />
<ClInclude Include="UserCredentials.h" />
<ClInclude Include="UserManager.h" />
</ItemGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Link>
<OptimizeforMemory>false</OptimizeforMemory>
<AdditionalOptions>-pthread %(AdditionalOptions)</AdditionalOptions>
</Link>
<ClCompile>
<CppLanguageStandard>c++17</CppLanguageStandard>
<CLanguageStandard>c11</CLanguageStandard>
<AdditionalOptions>
</AdditionalOptions>
<PreprocessorDefinitions>
</PreprocessorDefinitions>
</ClCompile>
<PostBuildEvent>
<Message>xy</Message>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Link>
<AdditionalOptions>-pthread %(AdditionalOptions)</AdditionalOptions>
</Link>
<ClCompile>
<UnrollLoops>true</UnrollLoops>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>
...and of the .vcxproj.user file:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebuggerFlavor>LinuxDebugger</DebuggerFlavor>
<RemoteDebuggerWorkingDirectory>{the-path}</RemoteDebuggerWorkingDirectory>
<RemoteDebuggingTarget>{my-ip}(username={my-user-name}, port=22, authentication=None)</RemoteDebuggingTarget>
<RemoteGDBPath>
</RemoteGDBPath>
</PropertyGroup>
</Project>

Related

error MSB8052: MSVC Toolset Version '14.28.29333' is not compatible with 'v120' Platform Toolset

I have been facing this issue since long, I am trying to build a project in VS 2019 which has previously built fine in vs 2013. I am facing this error which has no definition anywhere on Microsoft forums.
I have tried doing all the retargeting with the 2019 toolset as well as changing the toolset version to current in the project configuration file with no success at all.
I am not sure why even microsoft forums doesnot have any explanation for this error code (error MSB8052)
Also, the project still shows visual studio 2013 written in brackets in front of the project name. I have changed all the toolset to use the 2019 version but this is not changing.
The error is as follows : error MSB8052: MSVC Toolset Version '14.28.29333' is not compatible with 'v120' Platform Toolset. Please either change Platform Toolset to v142 or MSVC Toolset Version (VCToolsVersion property) to the version with the format '12.0*.*'. To use default MSVC Toolset Version for a given Platform Toolset don't set VCToolsVersion property.
I don't know somehow, it is still using the old platform toolset. Can somebody help me with this ?
enter code here
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Matrix">
<MatrixProjectDir>..\..\..</MatrixProjectDir>
</PropertyGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{173A4A3E-C861-4013-9366-08716BF7BCCD}</ProjectGuid>
<RootNamespace>LogicNpcUnmanagedSupport</RootNamespace>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<CLRSupport>true</CLRSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\Build\PropertySheets\MatrixReleaseSettings.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\Build\PropertySheets\MatrixDebugSettings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\Include;$(ProjectDir)\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_COMPILING_NPC_LIB_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Lib>
<OutputFile>$(OutDir)ag$(ProjectName).lib</OutputFile>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\Include;$(ProjectDir)\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_COMPILING_NPC_LIB_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Lib>
<OutputFile>$(Configuration)\ag$(ProjectName).lib</OutputFile>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="agGuid.cpp" />
<ClCompile Include="agLogicNpcBuffer.cpp" />
<ClCompile Include="agLogicNpcCallForwarder.cpp" />
<ClCompile Include="agLogicNpcClient.cpp" />
<ClCompile Include="agLogicNpcDispatcher.cpp" />
<ClCompile Include="agLogicNpcException.cpp" />
<ClCompile Include="agLogicNpcHeader.cpp" />
<ClCompile Include="agLogicNpcServer.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="agArrayWrapper.h" />
<ClInclude Include="agArrayWrapperComposite.h" />
<ClInclude Include="agArrayWrapperPrimitive.h" />
<ClInclude Include="agGuid.h" />
<ClInclude Include="agLogicNpcBuffer.h" />
<ClInclude Include="agLogicNpcCallForwarder.h" />
<ClInclude Include="agLogicNpcClient.h" />
<ClInclude Include="agLogicNpcContentFlags.h" />
<ClInclude Include="agLogicNpcDispatcher.h" />
<ClInclude Include="agLogicNpcException.h" />
<ClInclude Include="agLogicNpcHeader.h" />
<ClInclude Include="agLogicNpcServer.h" />
<ClInclude Include="agLogicNpcServerInfo.h" />
<ClInclude Include="agLogicNpcTransport.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
enter code here - MatrixDebugSettings.props
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="MatrixBaseSettings.props" />
<Import Project="MatrixMultiProcessorOptionSetting.props" />
<Import Project="MatrixDebugBaseSettings.props" />
</ImportGroup>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
</PropertyGroup>
</Project>
enter code here - Microsoft.Cpp.x64.user.props
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup />
<ItemGroup />
</Project>
You can directly open vcxproj file, then confirm and modify Platform Toolset to V142
If it doesn't work, you could try to delete .vs folder which is next to your sln file.

dotnet core, VS2017 15.5.4 is not publishing static html/js files from Ui folder

dotnet core 2.x, VS2017 15.5.4 is not publishing static html/js files from Ui folder.
We've combined out dotnet core Web Api and our Client UI, Aurelia into the same project. When I publish the Aurelia files are not being copied out, only the files in the Aurelia that are json. I thought I could right click the files and folders and set the Build Action property to Content but I get an error, see last image.
Here is my .csproj file
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<AssemblyName>Web</AssemblyName>
<RootNamespace>Web</RootNamespace>
<TypeScriptToolsVersion>2.5</TypeScriptToolsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" />
<PackageReference Include="Microsoft.Graph" Version="1.6.2" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" PrivateAssets="All" />
<PackageReference Include="Serilog.AspNetCore" Version="2.1.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="2.4.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.RollingFile" Version="3.3.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.00" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj" />
<ProjectReference Include="..\Lms\Lms.Service.csproj" />
</ItemGroup>
<ItemGroup>
<Content Update="appsettings.Development.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>
Error when right clicking and click Properties from the menu I get this

Can VS2015 be configured to compile a C++ project as quickly as VS2010?

We recently added GameSparks to our C++ project, which (so far as we were able to ascertain) required us to switch from VS2010 to VS2015.
Apart from the platform toolset and the path to msbuild.exe, nothing else in the project was modified.
Debug build times immediately climbed from 60 seconds to over 100 seconds.
As a test, we removed GameSparks again but left the platform as 2015. This reduced the build time by around 2 seconds. Switching back to VS2010 immediately reduced build times back down to 60 seconds again.
The project itself is extremely simple, comprising a single large .cpp file generated by a third-party multi-platform language, and a single .h file which includes the following:
#include <ctime>
#include <cmath>
#include <cctype>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <typeinfo>
#include <signal.h>
#include <cstdint>
#include <cfloat>
#include <windows.h>
#include <shlobj.h>
#include <direct.h>
#include <sys/stat.h>
#undef LoadString
//OpenAL...
//
#include <al.h>
#include <alc.h>
#include <stb_image.h>
#define STB_VORBIS_HEADER_ONLY
#include <stb_vorbis.c>
The nature of the project means we are building quite frequently, and those forty extra seconds per build really start to add up across the team.
See below for a transcript of the (VS2010) project file. Can anyone see any settings that could account for such a large increase in build time? Thanks.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{692B78A5-C3E9-4843-A55A-5E94A35BDFB4}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>MonkeyGame</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<IntDir>$(SolutionDir)build\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>../lib;../lib/win32;../include;$(IncludePath)</IncludePath>
<IntDir>$(SolutionDir)build\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../stb;../openal/include;../glfw3/include;../glfw3/src;../freetype/include;../freetype/include/freetype2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ExceptionHandling>Async</ExceptionHandling>
<MinimalRebuild>true</MinimalRebuild>
<IntrinsicFunctions>false</IntrinsicFunctions>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<BufferSecurityCheck>false</BufferSecurityCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;glu32.lib;openal32.lib;Ws2_32.lib;freetype.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../openal/libs/Win32;../freetype/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../stb;../openal/include;../glfw3/include;../glfw3/src;../freetype/include;../freetype/include/freetype2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>Async</ExceptionHandling>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>opengl32.lib;glu32.lib;openal32.lib;Ws2_32.lib;freetype.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../openal/libs/Win32;../freetype/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\glfw3\src\context.c" />
<ClCompile Include="..\glfw3\src\init.c" />
<ClCompile Include="..\glfw3\src\input.c" />
<ClCompile Include="..\glfw3\src\monitor.c" />
<ClCompile Include="..\glfw3\src\wgl_context.c" />
<ClCompile Include="..\glfw3\src\win32_init.c" />
<ClCompile Include="..\glfw3\src\win32_monitor.c" />
<ClCompile Include="..\glfw3\src\win32_time.c" />
<ClCompile Include="..\glfw3\src\win32_tls.c" />
<ClCompile Include="..\glfw3\src\win32_window.c" />
<ClCompile Include="..\glfw3\src\window.c" />
<ClCompile Include="..\glfw3\src\winmm_joystick.c" />
<ClCompile Include="..\main.cpp" />
<ClCompile Include="..\stb\stb_image.c" />
<ClCompile Include="..\stb\stb_vorbis.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

msbuild Link step doesn't run

I'm trying to build a very simple C program using MSBuild. Previously this was put together by an intern using Visual Studio but we are not going to be using VS here and I want this built with MSBuild so I can automate it.
I have constructed my vcxproj file from scratch following the walkthrough on MSDN and the other reference docs there. I am able to compile the obj files no problem but the Link step never seems to run so I am not getting an executable output.
There is a function called main in AppDrv.c files, is it safe to assume that will be detected by the linker as the entry point, or do I need to tell msbuild manually some how that this is there?
Here is the entirety of my vcxproj. I can't find anything in the docs that says I need to tell it to link, shouldn't it happen automatically if the CL step completes OK? Do I need to somehow explicitly list the obj files to link, or can MSBuild figure that out on its own?
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
<PropertyGroup>
<ConfigurationType>Console</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<!--Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /-->
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(UniversalCRT_IncludePath)$(ProjectDir)helper\include;$(WindowsSDK_IncludePath)$(VC_IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<CompileAs>CompileAsC</CompileAs>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>slip_windows_helper.exe</OutputFile>
<ShowProgress>LinkVerbose</ShowProgress>
</Link>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(UniversalCRT_IncludePath)$(ProjectDir)helper\include;$(WindowsSDK_IncludePath)$(VC_IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<CompileAs>CompileAsC</CompileAs>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(ProjectDir)helper\src\AppDrv.c" />
<ClCompile Include="$(ProjectDir)helper\src\Buffers.c" />
<ClCompile Include="$(ProjectDir)helper\src\SingleThreadAsync.c" />
<ClCompile Include="$(ProjectDir)helper\src\Slip.c" />
<ClCompile Include="$(ProjectDir)helper\src\Utils.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(ProjectDir)helper\include\AppDrv.h" />
<ClInclude Include="$(ProjectDir)helper\include\Buffers.h" />
<ClInclude Include="$(ProjectDir)helper\include\SingleThreadAsync.h" />
<ClInclude Include="$(ProjectDir)helper\include\Slip.h" />
<ClInclude Include="$(ProjectDir)helper\include\Utils.h" />
<ClInclude Include="$(ProjectDir)helper\include\SharedHeader.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
<Target Name="Info">
<Message Text="Target to output MSBuild information" />
<Message Text="OutputAssembly: $(OutputAssembly)" />
<Message Text="VCTargetsPath: $(VCTargetsPath)" />
<Message Text="Includes: $(IncludePath)" />
<Message Text="VC_IncludePath:$(VC_IncludePath)" />
<Message Text="WindowsSDK_IncludePath:$(WindowsSDK_IncludePath)" />
<Message Text="the property config is: $(Configuration)" />
<Message Text="final output directory: $(OutDir)" />
</Target>
</Project>
Here is the command I'm using to launch the build:
MSBuild.exe slipwinhelper.vcxproj /p:configuration=Debug /p:platform=Win32 /p:OutDir=target\ /nologo /t:Clean;Build;Info
UPDATE:
I got it to run the link task by overriding the AfterBuild event:
<Target Name="AfterBuild">
<Link Sources="Debug\AppDrv.obj;Debug\Buffers.obj;Debug\SingleThreadAsync.obj;Debug\Slip.obj;Debug\Utils.obj" />
</Target>
But now it is giving me unresolved externals on SetupApi calls in the code. I have tried changing the SubSystem to Windows, that doesn't seem to work.
A quick comparision with a VS generated files shows a bunch of differences/lacking properties, including the file from VS having
<ConfigurationType>Application</ConfigurationType>
whereas you are speciyfing Console which is not something msbuild recognizes.

Using LibTiff in Visual Studio 2010

I'm trying to use LibTiff in a C++ Program in Visual Studio 2010. I downloaded tiff-3.9.2.zip from ftp://ftp.remotesensing.org/pub/libtiff. To test LibTiff it would be nice if someone could give me a step by step instruction how to import libtiff to visual Studio and build the Fax2Tiff tool.
There are so many files so that I am totally confused.
What I already have done:
1) Created a new Empty Win32 Console Application Project named "TiffTest"
2) Copied the folder "libtiff" from the tiff-3.9.2.zip to the Project Folder
3) Copied the file "fax2tiff.c" to the Project Folder
4) Added those files to the Project
5) Added the "libtiff" folter to the additional include folders
6) Renamed the files "tif_config.vc.h" and "tiffconf.vc.h" to "tif_config.h" and "tiffconf.h"
7) Tried to compile it.
This does not really work. All I do to get rid of the error messages causes new error messages. Can anyone tell me how I can get libtiff to work?
I really need help...
Thank you so much!
I think it would be better
to build libtiff as a static library.
to build fax2tiff as a console application that links with the library
In addition, you should decide which version of the file- and memory-related files you want to use in your version of the library. There are Unix, DOS and Windows-style versions for file- and memory related files.
And for fax2tiff you will probably need Windows version of the getopt.c and getopt.h files. You may use wingetopt.h and wingetopt.c found on koders.com
I successfully use libtiff-3.9.4 and tiff2pdf built using this approach.
Btw, libtiff version 3.9.4 is most recent one in 3.x branch.
Below is the part of my LibTiff.vcxproj. It shows which files are needed to build libtiff on Windows using Visual Studio 2010.
<ItemGroup>
<ClInclude Include="t4.h" />
<ClInclude Include="tiff.h" />
<ClInclude Include="tiffconf.h" />
<ClInclude Include="tiffio.h" />
<ClInclude Include="tiffiop.h" />
<ClInclude Include="tiffvers.h" />
<ClInclude Include="tif_config.h" />
<ClInclude Include="tif_dir.h" />
<ClInclude Include="tif_fax3.h" />
<ClInclude Include="tif_predict.h" />
<ClInclude Include="uvcode.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="tif_aux.c" />
<ClCompile Include="tif_close.c" />
<ClCompile Include="tif_codec.c" />
<ClCompile Include="tif_color.c" />
<ClCompile Include="tif_compress.c" />
<ClCompile Include="tif_dir.c" />
<ClCompile Include="tif_dirinfo.c" />
<ClCompile Include="tif_dirread.c" />
<ClCompile Include="tif_dirwrite.c" />
<ClCompile Include="tif_dumpmode.c" />
<ClCompile Include="tif_error.c" />
<ClCompile Include="tif_extension.c" />
<ClCompile Include="tif_fax3.c" />
<ClCompile Include="tif_fax3sm.c" />
<ClCompile Include="tif_flush.c" />
<ClCompile Include="tif_getimage.c" />
<ClCompile Include="tif_jbig.c" />
<ClCompile Include="tif_jpeg.c" />
<ClCompile Include="tif_luv.c" />
<ClCompile Include="tif_lzw.c" />
<ClCompile Include="tif_next.c" />
<ClCompile Include="tif_ojpeg.c" />
<ClCompile Include="tif_open.c" />
<ClCompile Include="tif_packbits.c" />
<ClCompile Include="tif_pixarlog.c" />
<ClCompile Include="tif_predict.c" />
<ClCompile Include="tif_print.c" />
<ClCompile Include="tif_read.c" />
<ClCompile Include="tif_strip.c" />
<ClCompile Include="tif_swab.c" />
<ClCompile Include="tif_thunder.c" />
<ClCompile Include="tif_tile.c" />
<ClCompile Include="tif_unix.c" />
<ClCompile Include="tif_version.c" />
<ClCompile Include="tif_warning.c" />
<ClCompile Include="tif_write.c" />
<ClCompile Include="tif_zip.c" />