Merge pull request #124 from diasbruno/makefile-test

added test rule.
diff --git a/tinyxml2.h b/tinyxml2.h
index 07ddc2b..72dc801 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -57,6 +57,23 @@
 #   endif

 #endif

 

+#ifdef _MSC_VER

+#   pragma warning(push)

+#   pragma warning(disable: 4251)

+#endif

+

+#ifdef _WIN32

+#   ifdef TINYXML2_EXPORT

+#       define TINYXML2_LIB __declspec(dllexport)

+#   elif defined(TINYXML2_IMPORT)

+#       define TINYXML2_LIB __declspec(dllimport)

+#   else

+#       define TINYXML2_LIB

+#   endif

+#else

+#   define TINYXML2_LIB

+#endif

+

 

 #if defined(DEBUG)

 #   if defined(_MSC_VER)

@@ -408,7 +425,7 @@
 

 	@sa XMLNode::Accept()

 */

-class XMLVisitor

+class TINYXML2_LIB XMLVisitor

 {

 public:

     virtual ~XMLVisitor() {}

@@ -554,7 +571,7 @@
 

 	@endverbatim

 */

-class XMLNode

+class TINYXML2_LIB XMLNode

 {

     friend class XMLDocument;

     friend class XMLElement;

@@ -820,7 +837,7 @@
 	you generally want to leave it alone, but you can change the output mode with

 	SetCData() and query it with CData().

 */

-class XMLText : public XMLNode

+class TINYXML2_LIB XMLText : public XMLNode

 {

     friend class XMLBase;

     friend class XMLDocument;

@@ -859,7 +876,7 @@
 

 

 /** An XML Comment. */

-class XMLComment : public XMLNode

+class TINYXML2_LIB XMLComment : public XMLNode

 {

     friend class XMLDocument;

 public:

@@ -897,7 +914,7 @@
 	The text of the declaration isn't interpreted. It is parsed

 	and written as a string.

 */

-class XMLDeclaration : public XMLNode

+class TINYXML2_LIB XMLDeclaration : public XMLNode

 {

     friend class XMLDocument;

 public:

@@ -929,7 +946,7 @@
 

 	DTD tags get thrown into XMLUnknowns.

 */

-class XMLUnknown : public XMLNode

+class TINYXML2_LIB XMLUnknown : public XMLNode

 {

     friend class XMLDocument;

 public:

@@ -988,7 +1005,7 @@
 	@note The attributes are not XMLNodes. You may only query the

 	Next() attribute in a list.

 */

-class XMLAttribute

+class TINYXML2_LIB XMLAttribute

 {

     friend class XMLElement;

 public:

@@ -1089,7 +1106,7 @@
 	and can contain other elements, text, comments, and unknowns.

 	Elements also contain an arbitrary number of attributes.

 */

-class XMLElement : public XMLNode

+class TINYXML2_LIB XMLElement : public XMLNode

 {

     friend class XMLBase;

     friend class XMLDocument;

@@ -1409,7 +1426,7 @@
 	All Nodes are connected and allocated to a Document.

 	If the Document is deleted, all its Nodes are also deleted.

 */

-class XMLDocument : public XMLNode

+class TINYXML2_LIB XMLDocument : public XMLNode

 {

     friend class XMLElement;

 public:

@@ -1667,7 +1684,7 @@
 

 	See also XMLConstHandle, which is the same as XMLHandle, but operates on const objects.

 */

-class XMLHandle

+class TINYXML2_LIB XMLHandle

 {

 public:

     /// Create a handle from any node (at any depth of the tree.) This can be a null pointer.

@@ -1751,7 +1768,7 @@
 	A variant of the XMLHandle class for working with const XMLNodes and Documents. It is the

 	same in all regards, except for the 'const' qualifiers. See XMLHandle for API.

 */

-class XMLConstHandle

+class TINYXML2_LIB XMLConstHandle

 {

 public:

     XMLConstHandle( const XMLNode* node )											{

@@ -1858,7 +1875,7 @@
 	printer.CloseElement();

 	@endverbatim

 */

-class XMLPrinter : public XMLVisitor

+class TINYXML2_LIB XMLPrinter : public XMLVisitor

 {

 public:

     /** Construct the printer. If the FILE* is specified,

@@ -1964,5 +1981,8 @@
 

 }	// tinyxml2

 

+#if defined(_MSC_VER)

+#   pragma warning(pop)

+#endif

 

 #endif // TINYXML2_INCLUDED

diff --git a/tinyxml2/test.vcxproj b/tinyxml2/test.vcxproj
new file mode 100644
index 0000000..e61bb1b
--- /dev/null
+++ b/tinyxml2/test.vcxproj
@@ -0,0 +1,347 @@
+<?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|Win32">

+      <Configuration>Debug-Dll</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug-Dll|x64">

+      <Configuration>Debug-Dll</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug-Lib|Win32">

+      <Configuration>Debug-Lib</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug-Lib|x64">

+      <Configuration>Debug-Lib</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Dll|Win32">

+      <Configuration>Release-Dll</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Dll|x64">

+      <Configuration>Release-Dll</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Lib|Win32">

+      <Configuration>Release-Lib</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Lib|x64">

+      <Configuration>Release-Lib</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectGuid>{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}</ProjectGuid>

+    <RootNamespace>test</RootNamespace>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>true</UseDebugLibraries>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>true</UseDebugLibraries>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>true</UseDebugLibraries>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>true</UseDebugLibraries>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>false</UseDebugLibraries>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>false</UseDebugLibraries>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>false</UseDebugLibraries>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'" Label="Configuration">

+    <ConfigurationType>Application</ConfigurationType>

+    <UseDebugLibraries>false</UseDebugLibraries>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <CharacterSet>Unicode</CharacterSet>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <CharacterSet>Unicode</CharacterSet>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" 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)'=='Debug-Dll|x64'" Label="PropertySheets">

+    <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-Lib|Win32'">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'" 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)'=='Release-Dll|x64'" 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 Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'">

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'">

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>Disabled</Optimization>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>Disabled</Optimization>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>TINYXML2_IMPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Console</SubSystem>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>TINYXML2_IMPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Console</SubSystem>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+      <PreprocessorDefinitions>TINYXML2_IMPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>false</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+      <SubSystem>Console</SubSystem>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+      <PreprocessorDefinitions>TINYXML2_IMPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>false</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+      <SubSystem>Console</SubSystem>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+    </ClCompile>

+    <Link>

+      <SubSystem>Console</SubSystem>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>false</GenerateDebugInformation>

+      <SubSystem>Console</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+    </ClCompile>

+    <Link>

+      <SubSystem>Console</SubSystem>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+    </ClCompile>

+    <Link>

+      <GenerateDebugInformation>false</GenerateDebugInformation>

+      <SubSystem>Console</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="..\xmltest.cpp" />

+  </ItemGroup>

+  <ItemGroup>

+    <ProjectReference Include="tinyxml2.vcxproj">

+      <Project>{d1c528b6-aa02-4d29-9d61-dc08e317a70d}</Project>

+    </ProjectReference>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/tinyxml2/test.vcxproj.filters b/tinyxml2/test.vcxproj.filters
new file mode 100644
index 0000000..0a70dc6
--- /dev/null
+++ b/tinyxml2/test.vcxproj.filters
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <ClCompile Include="..\xmltest.cpp" />

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/tinyxml2/tinyxml2.sln b/tinyxml2/tinyxml2.sln
index d4f8f8a..1c0c92f 100755
--- a/tinyxml2/tinyxml2.sln
+++ b/tinyxml2/tinyxml2.sln
@@ -3,22 +3,52 @@
 # Visual Studio 2010

 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinyxml2", "tinyxml2.vcxproj", "{D1C528B6-AA02-4D29-9D61-DC08E317A70D}"

 EndProject

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcxproj", "{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}"

+EndProject

 Global

 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

-		Debug|Win32 = Debug|Win32

-		Debug|x64 = Debug|x64

-		Release|Win32 = Release|Win32

-		Release|x64 = Release|x64

+		Debug-Dll|Win32 = Debug-Dll|Win32

+		Debug-Dll|x64 = Debug-Dll|x64

+		Debug-Lib|Win32 = Debug-Lib|Win32

+		Debug-Lib|x64 = Debug-Lib|x64

+		Release-Dll|Win32 = Release-Dll|Win32

+		Release-Dll|x64 = Release-Dll|x64

+		Release-Lib|Win32 = Release-Lib|Win32

+		Release-Lib|x64 = Release-Lib|x64

 	EndGlobalSection

 	GlobalSection(ProjectConfigurationPlatforms) = postSolution

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug|Win32.ActiveCfg = Debug|Win32

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug|Win32.Build.0 = Debug|Win32

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug|x64.ActiveCfg = Debug|x64

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug|x64.Build.0 = Debug|x64

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release|Win32.ActiveCfg = Release|Win32

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release|Win32.Build.0 = Release|Win32

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release|x64.ActiveCfg = Release|x64

-		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release|x64.Build.0 = Release|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Dll|Win32.ActiveCfg = Debug-Dll|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Dll|Win32.Build.0 = Debug-Dll|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Dll|x64.ActiveCfg = Debug-Dll|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Dll|x64.Build.0 = Debug-Dll|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Lib|Win32.ActiveCfg = Debug-Lib|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Lib|Win32.Build.0 = Debug-Lib|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Lib|x64.ActiveCfg = Debug-Lib|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Debug-Lib|x64.Build.0 = Debug-Lib|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Dll|Win32.ActiveCfg = Release-Dll|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Dll|Win32.Build.0 = Release-Dll|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Dll|x64.ActiveCfg = Release-Dll|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Dll|x64.Build.0 = Release-Dll|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Lib|Win32.ActiveCfg = Release-Lib|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Lib|Win32.Build.0 = Release-Lib|Win32

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Lib|x64.ActiveCfg = Release-Lib|x64

+		{D1C528B6-AA02-4D29-9D61-DC08E317A70D}.Release-Lib|x64.Build.0 = Release-Lib|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Dll|Win32.ActiveCfg = Debug-Dll|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Dll|Win32.Build.0 = Debug-Dll|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Dll|x64.ActiveCfg = Debug-Dll|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Dll|x64.Build.0 = Debug-Dll|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Lib|Win32.ActiveCfg = Debug-Lib|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Lib|Win32.Build.0 = Debug-Lib|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Lib|x64.ActiveCfg = Debug-Lib|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Debug-Lib|x64.Build.0 = Debug-Lib|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Dll|Win32.ActiveCfg = Release-Dll|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Dll|Win32.Build.0 = Release-Dll|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Dll|x64.ActiveCfg = Release-Dll|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Dll|x64.Build.0 = Release-Dll|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Lib|Win32.ActiveCfg = Release-Lib|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Lib|Win32.Build.0 = Release-Lib|Win32

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Lib|x64.ActiveCfg = Release-Lib|x64

+		{E8FB2712-8666-4662-A5B8-2B5B0FB1A260}.Release-Lib|x64.Build.0 = Release-Lib|x64

 	EndGlobalSection

 	GlobalSection(SolutionProperties) = preSolution

 		HideSolutionNode = FALSE

diff --git a/tinyxml2/tinyxml2.vcxproj b/tinyxml2/tinyxml2.vcxproj
index b338bd1..7155976 100755
--- a/tinyxml2/tinyxml2.vcxproj
+++ b/tinyxml2/tinyxml2.vcxproj
@@ -1,20 +1,36 @@
 <?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>

+    <ProjectConfiguration Include="Debug-Dll|Win32">

+      <Configuration>Debug-Dll</Configuration>

       <Platform>Win32</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Debug|x64">

-      <Configuration>Debug</Configuration>

+    <ProjectConfiguration Include="Debug-Dll|x64">

+      <Configuration>Debug-Dll</Configuration>

       <Platform>x64</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Release|Win32">

-      <Configuration>Release</Configuration>

+    <ProjectConfiguration Include="Debug-Lib|Win32">

+      <Configuration>Debug-Lib</Configuration>

       <Platform>Win32</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Release|x64">

-      <Configuration>Release</Configuration>

+    <ProjectConfiguration Include="Debug-Lib|x64">

+      <Configuration>Debug-Lib</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Dll|Win32">

+      <Configuration>Release-Dll</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Dll|x64">

+      <Configuration>Release-Dll</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Lib|Win32">

+      <Configuration>Release-Lib</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release-Lib|x64">

+      <Configuration>Release-Lib</Configuration>

       <Platform>x64</Platform>

     </ProjectConfiguration>

   </ItemGroup>

@@ -24,57 +40,137 @@
     <RootNamespace>tinyxml2</RootNamespace>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

-    <ConfigurationType>Application</ConfigurationType>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseDebugLibraries>true</UseDebugLibraries>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

-    <ConfigurationType>Application</ConfigurationType>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseDebugLibraries>true</UseDebugLibraries>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

-    <ConfigurationType>Application</ConfigurationType>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseDebugLibraries>true</UseDebugLibraries>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <UseDebugLibraries>true</UseDebugLibraries>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseDebugLibraries>false</UseDebugLibraries>

     <WholeProgramOptimization>true</WholeProgramOptimization>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

-    <ConfigurationType>Application</ConfigurationType>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseDebugLibraries>false</UseDebugLibraries>

     <WholeProgramOptimization>true</WholeProgramOptimization>

     <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'" Label="Configuration">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <UseDebugLibraries>false</UseDebugLibraries>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <UseDebugLibraries>false</UseDebugLibraries>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

+  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <ConfigurationType>StaticLibrary</ConfigurationType>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <CharacterSet>Unicode</CharacterSet>

+  </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

   </ImportGroup>

-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">

     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

   </ImportGroup>

-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+  <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 Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'" 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|x64'" Label="PropertySheets">

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'" Label="PropertySheets">

+    <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-Lib|Win32'">

+    <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)'=='Release-Lib|x64'" 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|x64'" 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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">

     <LinkIncremental>true</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'">

     <LinkIncremental>true</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'">

+    <LinkIncremental>true</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">

+    <LinkIncremental>true</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'">

     <LinkIncremental>false</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">

     <LinkIncremental>false</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

   </PropertyGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'">

+    <LinkIncremental>false</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">

+    <LinkIncremental>false</LinkIncremental>

+    <OutDir>$(SolutionDir)bin\$(Platform)-$(Configuration)\</OutDir>

+    <IntDir>$(SolutionDir)temp\$(Platform)-$(Configuration)\</IntDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|Win32'">

     <ClCompile>

       <PrecompiledHeader>

       </PrecompiledHeader>

@@ -87,7 +183,20 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>

     </Link>

   </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|Win32'">

+    <ClCompile>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;TINYXML2_EXPORT;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <Link>

+      <SubSystem>NotSet</SubSystem>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Lib|x64'">

     <ClCompile>

       <PrecompiledHeader>

       </PrecompiledHeader>

@@ -100,61 +209,174 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>

     </Link>

   </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dll|x64'">

+    <ClCompile>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level4</WarningLevel>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;TINYXML2_EXPORT;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+    </ClCompile>

+    <Link>

+      <SubSystem>NotSet</SubSystem>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+      <BufferSecurityCheck>false</BufferSecurityCheck>

+    </ClCompile>

+    <Link>

+      <SubSystem>Console</SubSystem>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|Win32'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <PreprocessorDefinitions>WIN32;TINYXML2_EXPORT;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+      <BufferSecurityCheck>false</BufferSecurityCheck>

+    </ClCompile>

+    <Link>

+      <SubSystem>NotSet</SubSystem>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Lib|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+      <BufferSecurityCheck>false</BufferSecurityCheck>

+    </ClCompile>

+    <Link>

+      <SubSystem>Console</SubSystem>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dll|x64'">

+    <ClCompile>

+      <WarningLevel>Level4</WarningLevel>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <Optimization>MaxSpeed</Optimization>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <PreprocessorDefinitions>WIN32;TINYXML2_EXPORT;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+      <OmitFramePointers>true</OmitFramePointers>

+      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

+      <StringPooling>true</StringPooling>

+      <BufferSecurityCheck>false</BufferSecurityCheck>

+    </ClCompile>

+    <Link>

+      <SubSystem>NotSet</SubSystem>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <OptimizeReferences>true</OptimizeReferences>

+      <SetChecksum>true</SetChecksum>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <Lib>

+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>

+    </Lib>

+  </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <Lib>

+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>

+    </Lib>

     <ClCompile>

-      <WarningLevel>Level4</WarningLevel>

-      <PrecompiledHeader>

-      </PrecompiledHeader>

-      <Optimization>MaxSpeed</Optimization>

-      <FunctionLevelLinking>true</FunctionLevelLinking>

-      <IntrinsicFunctions>true</IntrinsicFunctions>

-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+    </ClCompile>

+    <ClCompile>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+    </ClCompile>

+    <ClCompile>

       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+    </ClCompile>

+    <ClCompile>

       <OmitFramePointers>true</OmitFramePointers>

+    </ClCompile>

+    <ClCompile>

       <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

       <StringPooling>true</StringPooling>

       <BufferSecurityCheck>false</BufferSecurityCheck>

     </ClCompile>

-    <Link>

-      <SubSystem>Console</SubSystem>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-      <EnableCOMDATFolding>true</EnableCOMDATFolding>

-      <OptimizeReferences>true</OptimizeReferences>

-      <SetChecksum>true</SetChecksum>

-    </Link>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <Lib>

+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>

+    </Lib>

   </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <Lib>

+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>

+    </Lib>

     <ClCompile>

-      <WarningLevel>Level4</WarningLevel>

-      <PrecompiledHeader>

-      </PrecompiledHeader>

-      <Optimization>MaxSpeed</Optimization>

-      <FunctionLevelLinking>true</FunctionLevelLinking>

-      <IntrinsicFunctions>true</IntrinsicFunctions>

-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

+    </ClCompile>

+    <ClCompile>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+    </ClCompile>

+    <ClCompile>

       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>

+    </ClCompile>

+    <ClCompile>

       <OmitFramePointers>true</OmitFramePointers>

+    </ClCompile>

+    <ClCompile>

       <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

       <StringPooling>true</StringPooling>

       <BufferSecurityCheck>false</BufferSecurityCheck>

     </ClCompile>

-    <Link>

-      <SubSystem>Console</SubSystem>

-      <GenerateDebugInformation>true</GenerateDebugInformation>

-      <EnableCOMDATFolding>true</EnableCOMDATFolding>

-      <OptimizeReferences>true</OptimizeReferences>

-      <SetChecksum>true</SetChecksum>

-    </Link>

   </ItemDefinitionGroup>

   <ItemGroup>

     <ClCompile Include="..\tinyxml2.cpp" />

-    <ClCompile Include="..\xmltest.cpp" />

   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="..\tinyxml2.h" />

-    <ClInclude Include="..\xmltest.h" />

   </ItemGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

   <ImportGroup Label="ExtensionTargets">

diff --git a/tinyxml2/tinyxml2.vcxproj.filters b/tinyxml2/tinyxml2.vcxproj.filters
index 89f9d69..e19968a 100755
--- a/tinyxml2/tinyxml2.vcxproj.filters
+++ b/tinyxml2/tinyxml2.vcxproj.filters
@@ -2,10 +2,8 @@
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

   <ItemGroup>

     <ClCompile Include="..\tinyxml2.cpp" />

-    <ClCompile Include="..\xmltest.cpp" />

   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="..\tinyxml2.h" />

-    <ClInclude Include="..\xmltest.h" />

   </ItemGroup>

 </Project>
\ No newline at end of file
diff --git a/xmltest.cpp b/xmltest.cpp
index abb2f1b..1df0c44 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -21,6 +21,7 @@
 #endif

 

 using namespace tinyxml2;

+int gTests = 0;

 int gPass = 0;

 int gFail = 0;

 

@@ -47,6 +48,8 @@
 		}

 	}

 

+    ++gTests;

+

 	if ( pass )

 		++gPass;

 	else

@@ -68,6 +71,8 @@
 	else

 		printf (" %s [%d][%d]\n", testString, static_cast<int>(expected), static_cast<int>(found) );

 

+    ++gTests;

+

 	if ( pass )

 		++gPass;

 	else

@@ -1262,5 +1267,5 @@
 	#endif

 

 	printf ("\nPass %d, Fail %d\n", gPass, gFail);

-	return 0;

+	return (gTests - gPass);

 }