Click here to Skip to main content
15,896,727 members
Articles / Desktop Programming / Win32

EpServerEngine - A lightweight Template Server-Client Framework using C++ and Windows Winsock

Rate me:
Please Sign up or sign in to vote.
4.83/5 (14 votes)
16 Jul 2015MIT8 min read 52.2K   822   68  
How to create a server-client network quickly using template server-client framework, EpServerEngine (C++ and Windows Winsock).
<?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 DLL Unicode|Win32">
      <Configuration>Debug DLL Unicode</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug DLL|Win32">
      <Configuration>Debug DLL</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug Unicode|Win32">
      <Configuration>Debug Unicode</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release DLL Unicode|Win32">
      <Configuration>Release DLL Unicode</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release DLL|Win32">
      <Configuration>Release DLL</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release Unicode|Win32">
      <Configuration>Release Unicode</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectName>EpServerEngine</ProjectName>
    <ProjectGuid>{DD2AE526-0AED-421D-9CB8-C73FB348CADB}</ProjectGuid>
    <RootNamespace>EpServerEngine100</RootNamespace>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="Configuration">
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
    <WholeProgramOptimization>false</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL Unicode|Win32'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
    <WholeProgramOptimization>false</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <CharacterSet>NotSet</CharacterSet>
    <WholeProgramOptimization>false</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'" Label="Configuration">
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL Unicode|Win32'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <CharacterSet>NotSet</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <CharacterSet>NotSet</CharacterSet>
    <WholeProgramOptimization>false</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <CharacterSet>NotSet</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL Unicode|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL Unicode|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </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" />
  </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" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL Unicode|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug DLL Unicode|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release DLL Unicode|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release DLL Unicode|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">$(SolutionDir)Bin\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">Intermediate\VS100\$(Configuration)\</IntDir>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_D100</TargetName>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectName)100</TargetName>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">$(ProjectName)U_D100</TargetName>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">$(ProjectName)U100</TargetName>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">$(ProjectName)_DLL_D100</TargetName>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug DLL Unicode|Win32'">$(ProjectName)U_DLL_D100</TargetName>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">$(ProjectName)_DLL100</TargetName>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release DLL Unicode|Win32'">$(ProjectName)U_DLL100</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <StringPooling>false</StringPooling>
      <CompileAsManaged>false</CompileAsManaged>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Lib>
      <AdditionalDependencies>EpLibrary_D100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)_D100.lib</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <UseUnicodeResponseFiles>true</UseUnicodeResponseFiles>
    </Lib>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAsManaged>false</CompileAsManaged>
      <StringPooling>false</StringPooling>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Lib>
      <AdditionalDependencies>EpLibrary100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)100.lib</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <UseUnicodeResponseFiles>true</UseUnicodeResponseFiles>
    </Lib>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;EP_LIBRARY_DLL_IMPORT;EP_SERVER_ENGINE_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAsManaged>false</CompileAsManaged>
      <StringPooling>false</StringPooling>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Link>
      <AdditionalDependencies>EpLibrary_DLL_D100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)_DLL_D100.dll</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <TargetMachine>NotSet</TargetMachine>
      <GenerateDebugInformation>false</GenerateDebugInformation>
      <AssemblyDebug>false</AssemblyDebug>
      <SubSystem>NotSet</SubSystem>
      <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug DLL Unicode|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;EP_LIBRARY_DLL_IMPORT;EP_SERVER_ENGINE_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAsManaged>false</CompileAsManaged>
      <StringPooling>false</StringPooling>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Link>
      <AdditionalDependencies>EpLibraryU_DLL_D100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)U_DLL_D100.dll</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>false</GenerateDebugInformation>
      <AssemblyDebug>false</AssemblyDebug>
      <SubSystem>NotSet</SubSystem>
      <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
      <TargetMachine>NotSet</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Unicode|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAsManaged>false</CompileAsManaged>
      <StringPooling>false</StringPooling>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Lib>
      <AdditionalDependencies>EpLibraryU_D100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)U_D100.lib</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <UseUnicodeResponseFiles>true</UseUnicodeResponseFiles>
    </Lib>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL|Win32'">
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;EP_LIBRARY_DLL_IMPORT;EP_SERVER_ENGINE_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAsManaged>false</CompileAsManaged>
      <StringPooling>false</StringPooling>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Link>
      <AdditionalDependencies>EpLibrary_DLL100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)_DLL100.dll</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>false</GenerateDebugInformation>
      <AssemblyDebug>false</AssemblyDebug>
      <SubSystem>NotSet</SubSystem>
      <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
      <TargetMachine>NotSet</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release DLL Unicode|Win32'">
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;EP_LIBRARY_DLL_IMPORT;EP_SERVER_ENGINE_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAsManaged>false</CompileAsManaged>
      <StringPooling>false</StringPooling>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Link>
      <AdditionalDependencies>EpLibraryU_DLL100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)U_DLL100.dll</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>false</GenerateDebugInformation>
      <AssemblyDebug>false</AssemblyDebug>
      <SubSystem>NotSet</SubSystem>
      <ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
      <TargetMachine>NotSet</TargetMachine>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <AdditionalIncludeDirectories>.\Headers;.\EpLibraryHeaders;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <CompileAsManaged>false</CompileAsManaged>
      <StringPooling>false</StringPooling>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <RuntimeTypeInfo>true</RuntimeTypeInfo>
      <OpenMPSupport>false</OpenMPSupport>
    </ClCompile>
    <Lib>
      <AdditionalDependencies>EpLibraryU100.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <OutputFile>$(OutDir)$(ProjectName)U100.lib</OutputFile>
      <AdditionalLibraryDirectories>.\Libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <UseUnicodeResponseFiles>true</UseUnicodeResponseFiles>
    </Lib>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="Sources\epBaseClientManual.cpp" />
    <ClCompile Include="Sources\epBaseClientUDPManual.cpp" />
    <ClCompile Include="Sources\epBasePacketParser.cpp" />
    <ClCompile Include="Sources\epBaseServerObject.cpp" />
    <ClCompile Include="Sources\epPacket.cpp" />
    <ClCompile Include="Sources\epParserList.cpp" />
    <ClCompile Include="Sources\epServerObjectList.cpp" />
    <ClCompile Include="Sources\epBaseClient.cpp" />
    <ClCompile Include="Sources\epBaseClientUDP.cpp" />
    <ClCompile Include="Sources\epBaseServer.cpp" />
    <ClCompile Include="Sources\epBaseServerWorker.cpp" />
    <ClCompile Include="Sources\epBaseServerUDP.cpp" />
    <ClCompile Include="Sources\epBaseServerWorkerUDP.cpp" />
    <ClCompile Include="Sources\epServerObjectRemover.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="EpLibraryHeaders\epBaseTextFile.h" />
    <ClInclude Include="EpLibraryHeaders\epBinaryFile.h" />
    <ClInclude Include="EpLibraryHeaders\epCmdLineOptions.h" />
    <ClInclude Include="EpLibraryHeaders\epEventEx.h" />
    <ClInclude Include="EpLibraryHeaders\epIpcClient.h" />
    <ClInclude Include="EpLibraryHeaders\epIpcClientInterfaces.h" />
    <ClInclude Include="EpLibraryHeaders\epIpcConf.h" />
    <ClInclude Include="EpLibraryHeaders\epIpcPipe.h" />
    <ClInclude Include="EpLibraryHeaders\epIpcServer.h" />
    <ClInclude Include="EpLibraryHeaders\epIpcServerInterfaces.h" />
    <ClInclude Include="EpLibraryHeaders\epLib.h" />
    <ClInclude Include="EpLibraryHeaders\epLogWriter.h" />
    <ClInclude Include="EpLibraryHeaders\epWinResizer.h" />
    <ClInclude Include="Headers\epBaseClientManual.h" />
    <ClInclude Include="Headers\epBaseClientUDPManual.h" />
    <ClInclude Include="Headers\epBasePacketParser.h" />
    <ClInclude Include="Headers\epBaseServerObject.h" />
    <ClInclude Include="Headers\epBaseServerSendObject.h" />
    <ClInclude Include="Headers\epPacket.h" />
    <ClInclude Include="Headers\epPacketContainer.h" />
    <ClInclude Include="Headers\epParserList.h" />
    <ClInclude Include="Headers\epse.h" />
    <ClInclude Include="Headers\epServerConf.h" />
    <ClInclude Include="Headers\epServerEngine.h" />
    <ClInclude Include="Headers\epServerObjectList.h" />
    <ClInclude Include="Headers\epBaseClient.h" />
    <ClInclude Include="Headers\epBaseClientUDP.h" />
    <ClInclude Include="Headers\epBaseServer.h" />
    <ClInclude Include="Headers\epBaseServerWorker.h" />
    <ClInclude Include="Headers\epBaseServerUDP.h" />
    <ClInclude Include="Headers\epBaseServerWorkerUDP.h" />
    <ClInclude Include="EpLibraryHeaders\epAlgorithm.h" />
    <ClInclude Include="EpLibraryHeaders\epAssert.h" />
    <ClInclude Include="EpLibraryHeaders\epBaseJob.h" />
    <ClInclude Include="EpLibraryHeaders\epBaseJobProcessor.h" />
    <ClInclude Include="EpLibraryHeaders\epBaseLock.h" />
    <ClInclude Include="EpLibraryHeaders\epBaseOutputter.h" />
    <ClInclude Include="EpLibraryHeaders\epBaseWorkerThread.h" />
    <ClInclude Include="EpLibraryHeaders\epBinarySearch.h" />
    <ClInclude Include="EpLibraryHeaders\epConsoleHelper.h" />
    <ClInclude Include="EpLibraryHeaders\epCriticalSectionEx.h" />
    <ClInclude Include="EpLibraryHeaders\epCStringEx.h" />
    <ClInclude Include="EpLibraryHeaders\epDateTimeHelper.h" />
    <ClInclude Include="EpLibraryHeaders\epDelegate.h" />
    <ClInclude Include="EpLibraryHeaders\epDynamicArray.h" />
    <ClInclude Include="EpLibraryHeaders\epEndian.h" />
    <ClInclude Include="EpLibraryHeaders\epException.h" />
    <ClInclude Include="EpLibraryHeaders\epFastLog.h" />
    <ClInclude Include="EpLibraryHeaders\epFastSqrt.h" />
    <ClInclude Include="EpLibraryHeaders\epFileStream.h" />
    <ClInclude Include="EpLibraryHeaders\epFolderHelper.h" />
    <ClInclude Include="EpLibraryHeaders\epFoundationLib.h" />
    <ClInclude Include="EpLibraryHeaders\epInsertionSort.h" />
    <ClInclude Include="EpLibraryHeaders\epInterlockedEx.h" />
    <ClInclude Include="EpLibraryHeaders\epJobScheduleQueue.h" />
    <ClInclude Include="EpLibraryHeaders\epKAryHeap.h" />
    <ClInclude Include="EpLibraryHeaders\epl.h" />
    <ClInclude Include="EpLibraryHeaders\epLocale.h" />
    <ClInclude Include="EpLibraryHeaders\epMemory.h" />
    <ClInclude Include="EpLibraryHeaders\epMergeSort.h" />
    <ClInclude Include="EpLibraryHeaders\epMutex.h" />
    <ClInclude Include="EpLibraryHeaders\epNetworkStream.h" />
    <ClInclude Include="EpLibraryHeaders\epNoLock.h" />
    <ClInclude Include="EpLibraryHeaders\epPatriciaTrie.h" />
    <ClInclude Include="EpLibraryHeaders\epPlatform.h" />
    <ClInclude Include="EpLibraryHeaders\epPrimeNum.h" />
    <ClInclude Include="EpLibraryHeaders\epProfiler.h" />
    <ClInclude Include="EpLibraryHeaders\epPropertiesFile.h" />
    <ClInclude Include="EpLibraryHeaders\epQuickSort.h" />
    <ClInclude Include="EpLibraryHeaders\epRandom.h" />
    <ClInclude Include="EpLibraryHeaders\epRegistryHelper.h" />
    <ClInclude Include="EpLibraryHeaders\epSemaphore.h" />
    <ClInclude Include="EpLibraryHeaders\epSimpleLogger.h" />
    <ClInclude Include="EpLibraryHeaders\epSingletonHolder.h" />
    <ClInclude Include="EpLibraryHeaders\epSmartObject.h" />
    <ClInclude Include="EpLibraryHeaders\epStream.h" />
    <ClInclude Include="EpLibraryHeaders\epSystem.h" />
    <ClInclude Include="EpLibraryHeaders\epTaskbarNotifier.h" />
    <ClInclude Include="EpLibraryHeaders\epTextFile.h" />
    <ClInclude Include="EpLibraryHeaders\epThread.h" />
    <ClInclude Include="EpLibraryHeaders\epThreadSafeClass.h" />
    <ClInclude Include="EpLibraryHeaders\epThreadSafePQueue.h" />
    <ClInclude Include="EpLibraryHeaders\epThreadSafeQueue.h" />
    <ClInclude Include="EpLibraryHeaders\epTinyObject.h" />
    <ClInclude Include="EpLibraryHeaders\epWinProcessHelper.h" />
    <ClInclude Include="EpLibraryHeaders\epWorkerThreadDelegate.h" />
    <ClInclude Include="EpLibraryHeaders\epWorkerThreadFactory.h" />
    <ClInclude Include="EpLibraryHeaders\epWorkerThreadInfinite.h" />
    <ClInclude Include="EpLibraryHeaders\epWorkerThreadSingle.h" />
    <ClInclude Include="EpLibraryHeaders\epXMLFile.h" />
    <ClInclude Include="EpLibraryHeaders\epXMLite.h" />
    <ClInclude Include="Headers\epServerObjectRemover.h" />
  </ItemGroup>
  <ItemGroup>
    <None Include="..\LICENSE" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The MIT License


Written By
Software Developer
United States United States
Woong Gyu La had been working as a software developer for over 8 years.
His personal interests are improving his personal projects,

EpLibrary (Visual C++ Utility Library)
https://github.com/juhgiyo/EpLibrary[^]

EpOraLibrary (Oracle OCI Wrapper Library for Visual C++)
https://github.com/juhgiyo/EpOraLibrary[^]

EpServerEngine (Visual C++ WinSock Server/Client Engine)
https://github.com/juhgiyo/EpServerEngine[^]

And other projects can be found at
https://github.com/juhgiyo?tab=repositories[^]

Finally, my other articles can be found at
http://www.codeproject.com/Articles/juhgiyo#articles[^]

You can contact me at juhgiyo@gmail.com[^]

Comments and Discussions