Hi All
I have a C++ project which I've converted from VC++ 6.0 to VS 2010.
I cant go higher in VS version since the application needs to run on XP.
The project has about 370 classes spread over and +/- 310 h & cpp files.
The compilation time of this project takes around 60 minutes (1 hour!!).
The project generates a LIB which will be used by other projects.
The hardware is very recent: Win8.1, i7, 4GB RAM, 512SSD.
I'm looking for some help to get that compilation time down to a reasonable speed.
It is horrible to work like that.
I'm completely overwelmed with all the options and dont have a clue where to start.
Any help is very much apprechiated.
Martin
This is the content of the project file.
-------------- snipp here --------------------
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.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="ME Debug|Win32">
<Configuration>ME Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Template|Win32">
<Configuration>Template</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>AKISLIB</ProjectName>
<ProjectGuid>{7D5953CA-A2A0-437B-9513-B9EC97C1BC92}</ProjectGuid>
<RootNamespace>AKISLIB</RootNamespace>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<Keyword>MFCProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ME Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Template|Win32'">
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ME Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\_BuildFiles\AkisLib\Win32Debug\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\_BuildFiles\AkisLib\Win32Release\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='ME Debug|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='ME Debug|Win32'">$(Configuration)\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AKISD6</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AKIS6</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\ADE\H;..\..\ADE\RES;..\..\ADE\AddOn\H;..\..\ADE\AddOn\InfoDlg;..\..\ADE\AddOn\Html;..\..\AKIS\LIB;..\..\AKIS\LIB\DV;..\..\AKIS\LIB\GK;..\..\AKIS\LIB\RG;..\..\AKIS\LIB\VE;..\..\AKIS\LIB\AB;..\..\AKIS\LIB\EO;..\..\AKIS\LIB\VV;..\..\AKIS\LIB\Core;..\..\..\Ade\AddOn\LeadTools\Include\ClassLib;..\..\ADE\AddOn\LIB;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;_ADEDEBUG;DBLIB_SKIP_PRAGMA_PACK;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>..\_BuildFiles\AkisLib\Win32Debug/AKISLIB6.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>..\_BuildFiles\AkisLib\Win32Debug/</AssemblerListingLocation>
<ObjectFileName>..\_BuildFiles\AkisLib\Win32Debug/</ObjectFileName>
<ProgramDataBaseFileName>..\_BuildFiles\AkisLib\AKISD6.pdb</ProgramDataBaseFileName>
<BrowseInformation>
</BrowseInformation>
<BrowseInformationFile>.\..\_BuildFiles\AkisLib\Win32Debug/</BrowseInformationFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<Culture>0x0807</Culture>
<AdditionalIncludeDirectories>..\..\..\Ade\Src;..\..\..\Ade\Res;..\..\..\Ade\H;..\..\Lib\Ab;..\..\Lib\Core;..\..\Lib\Dv;..\..\Lib\Eo;..\..\Lib\Gk;..\..\Lib\Rg;..\..\Lib\Ve;..\..\Lib\Vv;.\Res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Lib>
<OutputFile>AKISD6.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>..\_BuildFiles\AkisLib\Win32Debug/AKISLIB6.bsc</OutputFile>
</Bscmake>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\ADE\H;..\..\ADE\RES;..\..\ADE\AddOn\H;..\..\ADE\AddOn\InfoDlg;..\..\ADE\AddOn\Html;..\..\AKIS\LIB;..\..\AKIS\LIB\DV;..\..\AKIS\LIB\GK;..\..\AKIS\LIB\RG;..\..\AKIS\LIB\VE;..\..\AKIS\LIB\AB;..\..\AKIS\LIB\EO;..\..\AKIS\LIB\VV;..\..\AKIS\LIB\Core;..\..\..\Ade\AddOn\LeadTools\Include\ClassLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;_ADEDEBUG;DBLIB_SKIP_PRAGMA_PACK;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>..\_BuildFiles\AkisLib\Win32Release/AKISLIB6.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>..\_BuildFiles\AkisLib\Win32Release/</AssemblerListingLocation>
<ObjectFileName>..\_BuildFiles\AkisLib\Win32Release/</ObjectFileName>
<ProgramDataBaseFileName>..\_BuildFiles\AkisLib\Win32Release/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<Culture>0x0807</Culture>
</ResourceCompile>
<Lib>
<OutputFile>AKIS6.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>..\_BuildFiles\AkisLib\Win32Release/AKISLIB6.bsc</OutputFile>
</Bscmake>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ME Debug|Win32'">
<ClCompile>
<AdditionalOptions>/MP3 %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\ADE\H;..\..\ADE\RES;..\..\ADE\AddOn\H;..\..\ADE\AddOn\InfoDlg;..\..\ADE\AddOn\Html;..\..\AKIS\LIB;..\..\AKIS\LIB\DV;..\..\AKIS\LIB\GK;..\..\AKIS\LIB\RG;..\..\AKIS\LIB\VE;..\..\AKIS\LIB\AB;..\..\AKIS\LIB\EO;..\..\AKIS\LIB\VV;..\..\AKIS\LIB\Core;..\..\..\Ade\AddOn\LeadTools\Include\ClassLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;_ADEDEBUG;DBLIB_SKIP_PRAGMA_PACK;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>..\_BuildFiles\AkisLib\Win32Debug/AKISLIB6.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>..\_BuildFiles\AkisLib\Win32Debug/</AssemblerListingLocation>
<ObjectFileName>..\_BuildFiles\AkisLib\Win32Debug/</ObjectFileName>
<ProgramDataBaseFileName>..\_BuildFiles\AkisLib\AKISD6.pdb</ProgramDataBaseFileName>
<BrowseInformation>
</BrowseInformation>
<BrowseInformationFile>.\..\_BuildFiles\AkisLib\Win32Debug/</BrowseInformationFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<Culture>0x0807</Culture>
<AdditionalIncludeDirectories>..\..\..\Ade\Src;..\..\..\Ade\Res;..\..\..\Ade\H;..\..\Lib\Ab;..\..\Lib\Core;..\..\Lib\Dv;..\..\Lib\Eo;..\..\Lib\Gk;..\..\Lib\Rg;..\..\Lib\Ve;..\..\Lib\Vv;.\Res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Lib>
<OutputFile>AKISD6.lib</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Lib>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>..\_BuildFiles\AkisLib\Win32Debug/AKISLIB6.bsc</OutputFile>
</Bscmake>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="CORE\ABRNR.CPP">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='ME Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='ME Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="CORE\adelabel.cpp">
... LOTS of CICompile Include for each cpp file, Include of all the h and resource files ....
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ADE\ADE6.vcxproj">
<Project>{b72d578a-dce1-4d29-8a04-d354012c9085}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties RESOURCE_FILE="AB\ABLib.RC" />
</VisualStudio>
</ProjectExtensions>
</Project>
-------------- snipp here --------------------