Boost logo

Boost-Commit :

From: john.groups_at_[hidden]
Date: 2008-01-17 07:44:51


Author: jtorjo
Date: 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
New Revision: 42833
URL: http://svn.boost.org/trac/boost/changeset/42833

Log:
[logging]
v0.20.4, 17 jan 2008
- added dll_and_exe - show how you can use a logger that is defined in a DLL, and use it from an EXE
Added:
   sandbox/logging/lib/logging/samples/dll_and_exe/
   sandbox/logging/lib/logging/samples/dll_and_exe/readme.txt (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/Debug/
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/dll_log.h (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/log.cpp (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.cpp (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.h (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.sln (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.vcproj (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/
   sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/log.cpp (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/log.h (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.cpp (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.sln (contents, props changed)
   sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.vcproj (contents, props changed)
Text files modified:
   sandbox/logging/boost/logging/detail/raw_doc/changelog.hpp | 3 ++-
   1 files changed, 2 insertions(+), 1 deletions(-)

Modified: sandbox/logging/boost/logging/detail/raw_doc/changelog.hpp
==============================================================================
--- sandbox/logging/boost/logging/detail/raw_doc/changelog.hpp (original)
+++ sandbox/logging/boost/logging/detail/raw_doc/changelog.hpp 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -1,7 +1,8 @@
 /**
 @page page_changelog Changelog
 
-_at_section changelog_cur_ver Current Version: v0.20.3, 17 jan 2008
+@section changelog_cur_ver Current Version: v0.20.4, 17 jan 2008
+- added dll_and_exe - show how you can use a logger that is defined in a DLL, and use it from an EXE
 - explained the breaking change in the docs
 - updated the tests to compile (after the breaking change)
 - @ref breaking_change_v_20 "BREAKING CHANGE" : when you use the filters/loggers, use them as function names (append "()" to them)

Added: sandbox/logging/lib/logging/samples/dll_and_exe/readme.txt
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/readme.txt 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,53 @@
+This sample is to see what happens if using
+- a DLL
+ - using the logger
+- an EXE using the DLL
+ - it uses the logger from the DLL
+ - it also uses another logger, specific to the EXE
+
+
+I've made it work on Windows. If you can test it on Linux, please send me the diffs, and I'll update. Thanks!
+
+
+The log from the dll :
+- writes to a file called dll.txt and a file dllexe.txt (shared with the EXE)
+
+The log from the exe
+- writes to a file called exe.txt and a file dllexe.txt (shared with the DLL)
+
+
+
+
+The dll.txt should look like:
+
+14:35.23 beginning of dll log
+14:35.23 message from exe on log from DLL 4
+14:35.23 message from exe on log from DLL (2) 5
+14:35.23 message from dll 1
+14:35.23 hello world from dll 2
+14:35.23 end of dll log
+
+
+
+The exe.txt should look like:
+
+[1] beginning of exe log1
+[2] message from exe - before init_logs on EXE2
+[3] message from exe - after init_logs on EXE3
+[4] end of exe log 6
+
+
+
+The dllexe.txt should look like:
+
+14:35.23 beginning of dll log
+[1] beginning of exe log1
+[2] message from exe - before init_logs on EXE2
+[3] message from exe - after init_logs on EXE3
+14:35.23 message from exe on log from DLL 4
+14:35.23 message from exe on log from DLL (2) 5
+14:35.23 message from dll 1
+14:35.23 hello world from dll 2
+[4] end of exe log 6
+14:35.23 end of dll log
+

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/dll_log.h
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/dll_log.h 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,49 @@
+#ifndef THE_DLL_log_H
+#define THE_DLL_log_H
+
+#pragma once
+#include "the_dll.h"
+
+
+#include <boost/logging/format.hpp>
+
+using namespace boost::logging::scenario::usage;
+typedef use<
+ filter_::change::single_thread,
+ filter_::level::no_levels,
+ logger_::change::single_thread,
+ logger_::favor::correctness> finder;
+
+#ifdef THE_DLL_EXPORTS
+// internally
+
+// note : we export this filter & logger
+THE_DLL_API BOOST_DECLARE_LOG_FILTER(g_dll_log_filter, finder::filter )
+THE_DLL_API BOOST_DECLARE_LOG(g_dll_l, finder::logger)
+
+#else
+// what we expose to our clients
+
+/*
+Equivalent to:
+
+THE_DLL_API BOOST_DECLARE_LOG_FILTER(g_dll_log_filter, finder::filter )
+THE_DLL_API BOOST_DECLARE_LOG(g_dll_l, finder::logger)
+
+However, we want to clearly specify the DLL's option: either BOOST_LOG_COMPILE_FAST_ON or BOOST_LOG_COMPILE_FAST_OFF
+(in our case, BOOST_LOG_COMPILE_FAST_OFF).
+
+We need to clearly specify this to our client which will also be using our log, but might have different settings.
+For instance, he could have a different gather_msg, a different BOOST_LOG_COMPILE_* setting, a different type of log, etc.
+*/
+THE_DLL_API finder::filter * g_dll_log_filter();
+THE_DLL_API finder::logger * g_dll_l();
+#endif
+
+#define L_DLL_ BOOST_LOG_USE_LOG_IF_FILTER(g_dll_l(), g_dll_log_filter()->is_enabled() )
+
+
+// in this function, we write some log messages (from the DLL)
+THE_DLL_API void write_to_dll_logs();
+
+#endif

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/log.cpp
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/log.cpp 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,17 @@
+#include "dll_log.h"
+
+// note : we export this filter & logger
+THE_DLL_API BOOST_DEFINE_LOG_FILTER(g_dll_log_filter, finder::filter )
+THE_DLL_API BOOST_DEFINE_LOG(g_dll_l, finder::logger )
+
+using namespace boost::logging;
+
+void init_logs() {
+ // first, write to a clean file (that is, don't append to it)
+ g_dll_l()->writer().add_destination( destination::file("dll.txt", destination::file_settings().initial_overwrite(true) ));
+ g_dll_l()->writer().add_destination( destination::file("dllexe.txt", destination::file_settings().do_append(true) ));
+ g_dll_l()->writer().add_formatter( formatter::append_newline_if_needed() );
+ g_dll_l()->writer().add_formatter( formatter::time("$hh:$mm.$ss ") );
+ g_dll_l()->writer().add_destination( destination::cout() );
+ g_dll_l()->turn_cache_off();
+}

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.cpp
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.cpp 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,38 @@
+// the_dll.cpp : Defines the entry point for the DLL application.
+//
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+// Windows Header Files:
+#include <windows.h>
+
+#include "the_dll.h"
+#include "dll_log.h"
+
+void init_logs() ;
+
+BOOL APIENTRY DllMain( HMODULE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ switch (ul_reason_for_call)
+ {
+ case DLL_PROCESS_ATTACH:
+ // initialize our logs
+ init_logs();
+ L_DLL_ << "beginning of dll log";
+ break;
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ L_DLL_ << "end of dll log";
+ break;
+ }
+ return TRUE;
+}
+
+
+THE_DLL_API void write_to_dll_logs() {
+ int i = 0;
+ L_DLL_ << "message from dll " << ++i;
+ L_DLL_ << "hello world from dll " << ++i;
+}

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.h
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.h 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,17 @@
+#ifndef THE_DLL_H
+#define THE_DLL_H
+
+
+// The following ifdef block is the standard way of creating macros which make exporting
+// from a DLL simpler. All files within this DLL are compiled with the THE_DLL_EXPORTS
+// symbol defined on the command line. this symbol should not be defined on any project
+// that uses this DLL. This way any other project whose source files include this file see
+// THE_DLL_API functions as being imported from a DLL, whereas this DLL sees symbols
+// defined with this macro as being exported.
+#ifdef THE_DLL_EXPORTS
+#define THE_DLL_API __declspec(dllexport)
+#else
+#define THE_DLL_API __declspec(dllimport)
+#endif
+
+#endif

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.sln
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.sln 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "the_dll", "the_dll.vcproj", "{BD76318F-CF78-40DA-9818-FD195513C476}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {BD76318F-CF78-40DA-9818-FD195513C476}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BD76318F-CF78-40DA-9818-FD195513C476}.Debug|Win32.Build.0 = Debug|Win32
+ {BD76318F-CF78-40DA-9818-FD195513C476}.Release|Win32.ActiveCfg = Release|Win32
+ {BD76318F-CF78-40DA-9818-FD195513C476}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.vcproj
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_dll/the_dll.vcproj 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="the_dll"
+ ProjectGUID="{BD76318F-CF78-40DA-9818-FD195513C476}"
+ RootNamespace="the_dll"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=".,../../../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;THE_DLL_EXPORTS;BOOST_LOG_COMPILE_FAST_OFF"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=".,../../../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;THE_DLL_EXPORTS;BOOST_LOG_COMPILE_FAST_OFF"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\log.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\the_dll.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\dll_log.h"
+ >
+ </File>
+ <File
+ RelativePath=".\the_dll.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/log.cpp
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/log.cpp 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,17 @@
+#include "log.h"
+
+BOOST_DEFINE_LOG_FILTER(g_log_filter, boost::logging::filter::no_ts)
+BOOST_DEFINE_LOG(g_l, log_type )
+
+using namespace boost::logging;
+
+void init_logs() {
+ // first, write to a clean file (that is, don't append to it)
+ g_l()->writer().add_destination( destination::file("exe.txt", destination::file_settings().initial_overwrite(true) ));
+ g_l()->writer().add_destination( destination::file("dllexe.txt", destination::file_settings().do_append(true) ));
+ g_l()->writer().add_formatter( formatter::idx(), "[%] " );
+ g_l()->writer().add_formatter( formatter::append_newline() );
+ g_l()->writer().add_destination( destination::cout() );
+ g_l()->turn_cache_off();
+}
+

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/log.h
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/log.h 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,16 @@
+#ifndef LOG_H
+#define LOG_H
+#pragma once
+
+#include <boost/logging/format.hpp>
+
+typedef boost::logging::logger_format_write< > log_type;
+
+BOOST_DECLARE_LOG_FILTER(g_log_filter, boost::logging::filter::no_ts)
+BOOST_DECLARE_LOG(g_l, log_type )
+
+#define L_EXE_ BOOST_LOG_USE_LOG_IF_FILTER(g_l(), g_log_filter()->is_enabled() )
+
+void init_logs() ;
+
+#endif

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.cpp
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.cpp 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,22 @@
+// the_exe.cpp : Defines the entry point for the console application.
+
+#include "dll_log.h"
+#include "log.h"
+
+
+int main(int argc, char* argv[])
+{
+ int i = 0;
+ L_EXE_ << "beginning of exe log" << ++i;
+ L_EXE_ << "message from exe - before init_logs on EXE" << ++i;
+ init_logs();
+ L_EXE_ << "message from exe - after init_logs on EXE" << ++i;
+ L_DLL_ << "message from exe on log from DLL " << ++i;
+ L_DLL_ << "message from exe on log from DLL (2) " << ++i;
+
+ write_to_dll_logs();
+
+ L_EXE_ << "end of exe log " << ++i;
+ return 0;
+}
+

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.sln
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.sln 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "the_exe", "the_exe.vcproj", "{0FF794ED-0CB4-4DE0-98BD-48E4A5053BE4}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0FF794ED-0CB4-4DE0-98BD-48E4A5053BE4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0FF794ED-0CB4-4DE0-98BD-48E4A5053BE4}.Debug|Win32.Build.0 = Debug|Win32
+ {0FF794ED-0CB4-4DE0-98BD-48E4A5053BE4}.Release|Win32.ActiveCfg = Release|Win32
+ {0FF794ED-0CB4-4DE0-98BD-48E4A5053BE4}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal

Added: sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.vcproj
==============================================================================
--- (empty file)
+++ sandbox/logging/lib/logging/samples/dll_and_exe/the_exe/the_exe.vcproj 2008-01-17 07:44:49 EST (Thu, 17 Jan 2008)
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="the_exe"
+ ProjectGUID="{0FF794ED-0CB4-4DE0-98BD-48E4A5053BE4}"
+ RootNamespace="the_exe"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=".,../../../../..,../the_dll"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="the_dll.lib"
+ OutputFile="$(OutDir)\..\..\the_dll\Debug\$(ProjectName).exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../the_dll/Debug/"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=".,../../../../..,../the_dll"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath=".\log.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\log.h"
+ >
+ </File>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ <File
+ RelativePath=".\the_exe.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk