← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 3135: add project files for VS 2012 & a makefile; have PluginDefs.h manage its includes

 

------------------------------------------------------------
revno: 3135
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Mon 2012-11-12 19:26:21 +0100
message:
  add project files for VS 2012 & a makefile; have PluginDefs.h manage its includes
removed:
  plugins/Dev/Plugin.def
  plugins/Example/Plugin.def
  plugins/Script/Plugin.def
  plugins/Test/Plugin.def
  pluginsdk/cpp/src/Plugin.def
added:
  pluginsdk/cpp/projects/make/
  pluginsdk/cpp/projects/make/Makefile
  pluginsdk/cpp/projects/vs2010/
  pluginsdk/cpp/projects/vs2010/Plugin.sln
  pluginsdk/cpp/projects/vs2010/Plugin.vcxproj
  pluginsdk/cpp/projects/vs2010/Plugin.vcxproj.filters
modified:
  .bzrignore
  plugins/Dev/SConscript
  plugins/Dev/stdafx.h
  plugins/Example/SConscript
  plugins/Example/stdafx.h
  plugins/Script/SConscript
  plugins/Script/stdafx.h
  plugins/Test/SConscript
  plugins/Test/stdafx.h
  pluginsdk/PluginDefs.h
  pluginsdk/c/pluginsdk/Config.h
  pluginsdk/cpp/pluginsdk/Config.h
  pluginsdk/cpp/pluginsdk/Connections.h
  pluginsdk/cpp/pluginsdk/Core.h
  pluginsdk/cpp/pluginsdk/Hooks.cpp
  pluginsdk/cpp/pluginsdk/Hooks.h
  pluginsdk/cpp/pluginsdk/Hubs.h
  pluginsdk/cpp/pluginsdk/Logger.h
  pluginsdk/cpp/pluginsdk/Queue.h
  pluginsdk/cpp/pluginsdk/Tagger.h
  pluginsdk/cpp/pluginsdk/UI.cpp
  pluginsdk/cpp/pluginsdk/UI.h
  pluginsdk/cpp/pluginsdk/Util.h
  pluginsdk/cpp/projects/vs2012/Plugin.vcxproj
  pluginsdk/cpp/projects/vs2012/Plugin.vcxproj.filters
  pluginsdk/cpp/src/Plugin.cpp
  pluginsdk/cpp/src/version.h


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file '.bzrignore'
--- .bzrignore	2012-11-11 18:37:03 +0000
+++ .bzrignore	2012-11-12 18:26:21 +0000
@@ -25,5 +25,9 @@
 ./msvc/release-*
 ./mingw/include/*.h
 ./pluginsdk/cpp/pluginsdk/PluginDefs.h
+./pluginsdk/cpp/projects/make/build
+./pluginsdk/cpp/projects/vs2010/Debug
+./pluginsdk/cpp/projects/vs2010/ipch
+./pluginsdk/cpp/projects/vs2010/Release
 ./pluginsdk/cpp/projects/vs2012/Debug
 ./pluginsdk/cpp/projects/vs2012/Release

=== removed file 'plugins/Dev/Plugin.def'
--- plugins/Dev/Plugin.def	2012-07-19 22:00:20 +0000
+++ plugins/Dev/Plugin.def	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-EXPORTS
-	pluginInit = _pluginInit@4 @1

=== modified file 'plugins/Dev/SConscript'
--- plugins/Dev/SConscript	2012-11-11 16:16:24 +0000
+++ plugins/Dev/SConscript	2012-11-12 18:26:21 +0000
@@ -12,8 +12,8 @@
 
 if 'g++' in env['LINK']:
 	env.Append(SHLINKFLAGS = '-Wl,--add-stdcall-alias')
-elif 'link' in env['LINK'] and env['arch'] == 'x86':
-	sources.append('Plugin.def')
+elif 'link' in env['LINK']:
+	env.Append(SHLINKFLAGS = '/EXPORT:pluginInit')
 
 ret = dev.build_lib(env, target, [sources, res, dev.boost], shared = True)
 Return('ret')

=== modified file 'plugins/Dev/stdafx.h'
--- plugins/Dev/stdafx.h	2012-11-04 19:15:24 +0000
+++ plugins/Dev/stdafx.h	2012-11-12 18:26:21 +0000
@@ -33,7 +33,6 @@
 #endif
 
 #include <cstdio>
-#include <cstdint>
 #include <string>
 
 #include <pluginsdk/PluginDefs.h>

=== removed file 'plugins/Example/Plugin.def'
--- plugins/Example/Plugin.def	2012-07-19 21:58:04 +0000
+++ plugins/Example/Plugin.def	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-EXPORTS
-	pluginInit = _pluginInit@4 @1

=== modified file 'plugins/Example/SConscript'
--- plugins/Example/SConscript	2012-11-10 03:44:55 +0000
+++ plugins/Example/SConscript	2012-11-12 18:26:21 +0000
@@ -9,8 +9,8 @@
 
 if 'g++' in env['LINK']:
 	env.Append(SHLINKFLAGS = '-Wl,--add-stdcall-alias')
-elif 'link' in env['LINK'] and env['arch'] == 'x86':
-	sources.append('Plugin.def')
+elif 'link' in env['LINK']:
+	env.Append(SHLINKFLAGS = '/EXPORT:pluginInit')
 
 ret = dev.build_lib(env, target, [sources, res], shared = True)
 Return('ret')

=== modified file 'plugins/Example/stdafx.h'
--- plugins/Example/stdafx.h	2012-11-10 19:19:26 +0000
+++ plugins/Example/stdafx.h	2012-11-12 18:26:21 +0000
@@ -34,9 +34,6 @@
 #define STRINGIZE(X) DO_STRINGIZE(X)
 #define DO_STRINGIZE(X) #X
 
-#include <stddef.h>
-#include <stdint.h>
-
 #include <pluginsdk/PluginDefs.h>
 
 #include "version.h"

=== removed file 'plugins/Script/Plugin.def'
--- plugins/Script/Plugin.def	2012-07-19 22:01:31 +0000
+++ plugins/Script/Plugin.def	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-EXPORTS
-	pluginInit = _pluginInit@4 @1

=== modified file 'plugins/Script/SConscript'
--- plugins/Script/SConscript	2012-11-11 16:16:24 +0000
+++ plugins/Script/SConscript	2012-11-12 18:26:21 +0000
@@ -9,8 +9,8 @@
 
 if 'g++' in env['LINK']:
 	env.Append(SHLINKFLAGS = '-Wl,--add-stdcall-alias')
-elif 'link' in env['LINK'] and env['arch'] == 'x86':
-	sources.append('Plugin.def')
+elif 'link' in env['LINK']:
+	env.Append(SHLINKFLAGS = '/EXPORT:pluginInit')
 
 ret = dev.build_lib(env, target, [sources, res, dev.build('lua/'), dev.boost], shared = True)
 Return('ret')

=== modified file 'plugins/Script/stdafx.h'
--- plugins/Script/stdafx.h	2012-11-04 19:15:24 +0000
+++ plugins/Script/stdafx.h	2012-11-12 18:26:21 +0000
@@ -35,7 +35,6 @@
 #define DO_STRINGIZE(X) #X
 
 #include <cstdio>
-#include <cstdint>
 #include <string>
 
 #include <pluginsdk/PluginDefs.h>

=== removed file 'plugins/Test/Plugin.def'
--- plugins/Test/Plugin.def	2012-09-08 13:53:58 +0000
+++ plugins/Test/Plugin.def	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-EXPORTS
-	pluginInit = _pluginInit@4 @1

=== modified file 'plugins/Test/SConscript'
--- plugins/Test/SConscript	2012-11-11 16:16:24 +0000
+++ plugins/Test/SConscript	2012-11-12 18:26:21 +0000
@@ -12,8 +12,8 @@
 
 if 'g++' in env['LINK']:
 	env.Append(SHLINKFLAGS = '-Wl,--add-stdcall-alias')
-elif 'link' in env['LINK'] and env['arch'] == 'x86':
-	sources.append('Plugin.def')
+elif 'link' in env['LINK']:
+	env.Append(SHLINKFLAGS = '/EXPORT:pluginInit')
 
 ret = dev.build_lib(env, target, [sources, res, dev.boost], shared = True)
 Return('ret')

=== modified file 'plugins/Test/stdafx.h'
--- plugins/Test/stdafx.h	2012-11-04 19:15:24 +0000
+++ plugins/Test/stdafx.h	2012-11-12 18:26:21 +0000
@@ -31,7 +31,6 @@
 #endif
 
 #include <cstdio>
-#include <cstdint>
 #include <string>
 
 #include <pluginsdk/PluginDefs.h>

=== modified file 'pluginsdk/PluginDefs.h'
--- pluginsdk/PluginDefs.h	2012-11-11 16:16:24 +0000
+++ pluginsdk/PluginDefs.h	2012-11-12 18:26:21 +0000
@@ -20,6 +20,14 @@
 #define PLUGINSDK_PLUGINDEFS_H
 
 #ifdef __cplusplus
+#include <cstdint>
+#include <cstddef>
+#else
+#include <stdint.h>
+#include <stddef.h>
+#endif
+
+#ifdef __cplusplus
 extern "C" {
 #endif
 

=== modified file 'pluginsdk/c/pluginsdk/Config.h'
--- pluginsdk/c/pluginsdk/Config.h	2012-11-10 19:19:26 +0000
+++ pluginsdk/c/pluginsdk/Config.h	2012-11-12 18:26:21 +0000
@@ -21,9 +21,6 @@
 #ifndef PLUGINSDK_CONFIG_H
 #define PLUGINSDK_CONFIG_H
 
-#include <stddef.h>
-#include <stdint.h>
-
 #include <pluginsdk/PluginDefs.h>
 
 Bool DCAPI init_cfg(DCCorePtr core);

=== modified file 'pluginsdk/cpp/pluginsdk/Config.h'
--- pluginsdk/cpp/pluginsdk/Config.h	2012-11-11 18:37:03 +0000
+++ pluginsdk/cpp/pluginsdk/Config.h	2012-11-12 18:26:21 +0000
@@ -21,7 +21,6 @@
 #ifndef PLUGINSDK_CONFIG_H
 #define PLUGINSDK_CONFIG_H
 
-#include <cstdint>
 #include <string>
 
 #include <pluginsdk/PluginDefs.h>

=== modified file 'pluginsdk/cpp/pluginsdk/Connections.h'
--- pluginsdk/cpp/pluginsdk/Connections.h	2012-11-11 16:57:44 +0000
+++ pluginsdk/cpp/pluginsdk/Connections.h	2012-11-12 18:26:21 +0000
@@ -21,8 +21,6 @@
 #ifndef PLUGINSDK_CONNECTIONS_H
 #define PLUGINSDK_CONNECTIONS_H
 
-#include <cstdint>
-
 #include <pluginsdk/PluginDefs.h>
 
 namespace dcapi {

=== modified file 'pluginsdk/cpp/pluginsdk/Core.h'
--- pluginsdk/cpp/pluginsdk/Core.h	2012-11-11 16:16:24 +0000
+++ pluginsdk/cpp/pluginsdk/Core.h	2012-11-12 18:26:21 +0000
@@ -21,7 +21,6 @@
 #ifndef PLUGINSDK_CORE_H
 #define PLUGINSDK_CORE_H
 
-#include <cstdint>
 #include <string>
 
 #include <pluginsdk/PluginDefs.h>

=== modified file 'pluginsdk/cpp/pluginsdk/Hooks.cpp'
--- pluginsdk/cpp/pluginsdk/Hooks.cpp	2012-11-11 17:43:20 +0000
+++ pluginsdk/cpp/pluginsdk/Hooks.cpp	2012-11-12 18:26:21 +0000
@@ -139,8 +139,8 @@
 }
 
 void Hooks::clear() {
-	for(auto& i: events)
-		hooks->release_hook(i.second.first);
+	for(auto i = events.begin(), iend = events.end(); i != iend; ++i)
+		hooks->release_hook(i->second.first);
 	events.clear();
 }
 
@@ -154,7 +154,7 @@
 
 void Hooks::addEvent(const char* id, Callback f) {
 	// insert first to construct map keys etc; then create the hook, using the map key as pCommon.
-	auto it = events.insert(make_pair(id, make_pair(nullptr, f))).first;
+	auto it = events.insert(std::make_pair(id, std::make_pair((void*)0, f))).first;
 	it->second.first = hooks->bind_hook(id, eventCallback, reinterpret_cast<dcptr_t>(const_cast<char*>(it->first.c_str())));
 }
 

=== modified file 'pluginsdk/cpp/pluginsdk/Hooks.h'
--- pluginsdk/cpp/pluginsdk/Hooks.h	2012-11-11 17:43:20 +0000
+++ pluginsdk/cpp/pluginsdk/Hooks.h	2012-11-12 18:26:21 +0000
@@ -21,7 +21,6 @@
 #ifndef PLUGINSDK_HOOKS_H
 #define PLUGINSDK_HOOKS_H
 
-#include <cstdint>
 #include <functional>
 #include <map>
 #include <string>

=== modified file 'pluginsdk/cpp/pluginsdk/Hubs.h'
--- pluginsdk/cpp/pluginsdk/Hubs.h	2012-11-11 16:57:44 +0000
+++ pluginsdk/cpp/pluginsdk/Hubs.h	2012-11-12 18:26:21 +0000
@@ -21,8 +21,6 @@
 #ifndef PLUGINSDK_HUBS_H
 #define PLUGINSDK_HUBS_H
 
-#include <cstdint>
-
 #include <pluginsdk/PluginDefs.h>
 
 namespace dcapi {

=== modified file 'pluginsdk/cpp/pluginsdk/Logger.h'
--- pluginsdk/cpp/pluginsdk/Logger.h	2012-11-11 16:28:14 +0000
+++ pluginsdk/cpp/pluginsdk/Logger.h	2012-11-12 18:26:21 +0000
@@ -21,7 +21,6 @@
 #ifndef PLUGINSDK_LOGGER_H
 #define PLUGINSDK_LOGGER_H
 
-#include <cstdint>
 #include <string>
 
 #include <pluginsdk/PluginDefs.h>

=== modified file 'pluginsdk/cpp/pluginsdk/Queue.h'
--- pluginsdk/cpp/pluginsdk/Queue.h	2012-11-11 16:57:44 +0000
+++ pluginsdk/cpp/pluginsdk/Queue.h	2012-11-12 18:26:21 +0000
@@ -21,8 +21,6 @@
 #ifndef PLUGINSDK_QUEUE_H
 #define PLUGINSDK_QUEUE_H
 
-#include <cstdint>
-
 #include <pluginsdk/PluginDefs.h>
 
 namespace dcapi {

=== modified file 'pluginsdk/cpp/pluginsdk/Tagger.h'
--- pluginsdk/cpp/pluginsdk/Tagger.h	2012-11-11 16:57:44 +0000
+++ pluginsdk/cpp/pluginsdk/Tagger.h	2012-11-12 18:26:21 +0000
@@ -21,8 +21,6 @@
 #ifndef PLUGINSDK_TAGGER_H
 #define PLUGINSDK_TAGGER_H
 
-#include <cstdint>
-
 #include <pluginsdk/PluginDefs.h>
 
 namespace dcapi {

=== modified file 'pluginsdk/cpp/pluginsdk/UI.cpp'
--- pluginsdk/cpp/pluginsdk/UI.cpp	2012-11-11 16:28:14 +0000
+++ pluginsdk/cpp/pluginsdk/UI.cpp	2012-11-12 18:26:21 +0000
@@ -36,7 +36,7 @@
 DCUIPtr UI::handle() { return ui; }
 
 void UI::addCommand(string name, Command command) {
-	ui->add_command(commands.emplace(move(name), command).first->first.c_str(), commandCallback);
+	ui->add_command(commands.insert(std::make_pair(move(name), command)).first->first.c_str(), commandCallback);
 }
 
 void UI::removeCommand(const string& name) {

=== modified file 'pluginsdk/cpp/pluginsdk/UI.h'
--- pluginsdk/cpp/pluginsdk/UI.h	2012-11-11 16:28:14 +0000
+++ pluginsdk/cpp/pluginsdk/UI.h	2012-11-12 18:26:21 +0000
@@ -21,7 +21,6 @@
 #ifndef PLUGINSDK_UI_H
 #define PLUGINSDK_UI_H
 
-#include <cstdint>
 #include <functional>
 #include <string>
 #include <unordered_map>

=== modified file 'pluginsdk/cpp/pluginsdk/Util.h'
--- pluginsdk/cpp/pluginsdk/Util.h	2012-11-11 16:28:14 +0000
+++ pluginsdk/cpp/pluginsdk/Util.h	2012-11-12 18:26:21 +0000
@@ -21,7 +21,6 @@
 #ifndef PLUGINSDK_UTIL_H
 #define PLUGINSDK_UTIL_H
 
-#include <cstdint>
 #include <string>
 
 #include <pluginsdk/PluginDefs.h>

=== added directory 'pluginsdk/cpp/projects/make'
=== added file 'pluginsdk/cpp/projects/make/Makefile'
--- pluginsdk/cpp/projects/make/Makefile	1970-01-01 00:00:00 +0000
+++ pluginsdk/cpp/projects/make/Makefile	2012-11-12 18:26:21 +0000
@@ -0,0 +1,49 @@
+# This is a rudimentary Makefile that compiles files from the pluginsdk & src directories into a
+# shared library. Adapt to your needs.
+
+CXX = $(PREFIX)g++$(SUFFIX)
+CXXFLAGS += -std=gnu++0x -Wall -Wextra -g -pipe -O3 -I../../
+LINKFLAGS += -static-libgcc -static-libstdc++ -g -O3 -shared -Wl,--add-stdcall-alias
+
+VPATH = ../../pluginsdk:../../src
+
+OUTPUT_DIR = build
+OUTPUT_OPTION = -o $(OUTPUT_DIR)/$@
+
+OBJS = \
+	Config.o \
+	Connections.o \
+	Core.o \
+	Hooks.o \
+	Hubs.o \
+	Logger.o \
+	Queue.o \
+	Tagger.o \
+	UI.o \
+	Util.o \
+	main.o \
+	Plugin.o \
+	stdafx.o
+
+ifeq ($(OS), Windows_NT)
+	OBJS += resource.o
+	LIBEXT = .dll
+else
+	LIBEXT = .so
+endif
+
+all: \
+	ensure-dirs \
+	Plugin
+
+Plugin: $(OBJS)
+	cd $(OUTPUT_DIR); $(CXX) $(LINKFLAGS) -o $@$(LIBEXT) $^
+
+ensure-dirs:
+	mkdir -p $(OUTPUT_DIR)
+
+resource.o: resource.rc
+	windres ../../src/resource.rc $(OUTPUT_OPTION)
+
+clear:
+	$(RM) -r $(OUTPUT_DIR)

=== added directory 'pluginsdk/cpp/projects/vs2010'
=== added file 'pluginsdk/cpp/projects/vs2010/Plugin.sln'
--- pluginsdk/cpp/projects/vs2010/Plugin.sln	1970-01-01 00:00:00 +0000
+++ pluginsdk/cpp/projects/vs2010/Plugin.sln	2012-11-12 18:26:21 +0000
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin", "Plugin.vcxproj", "{A468D57B-BC27-4C5E-8267-C766C76B621D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{A468D57B-BC27-4C5E-8267-C766C76B621D}.Debug|Win32.ActiveCfg = Debug|Win32
+		{A468D57B-BC27-4C5E-8267-C766C76B621D}.Debug|Win32.Build.0 = Debug|Win32
+		{A468D57B-BC27-4C5E-8267-C766C76B621D}.Release|Win32.ActiveCfg = Release|Win32
+		{A468D57B-BC27-4C5E-8267-C766C76B621D}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

=== added file 'pluginsdk/cpp/projects/vs2010/Plugin.vcxproj'
--- pluginsdk/cpp/projects/vs2010/Plugin.vcxproj	1970-01-01 00:00:00 +0000
+++ pluginsdk/cpp/projects/vs2010/Plugin.vcxproj	2012-11-12 18:26:21 +0000
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{A468D57B-BC27-4C5E-8267-C766C76B621D}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;PLUGIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>../../</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4800</DisableSpecificWarnings>
+    </ClCompile>
+    <Link>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalOptions>/EXPORT:pluginInit %(AdditionalOptions)</AdditionalOptions>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PLUGIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>../../</AdditionalIncludeDirectories>
+      <DisableSpecificWarnings>4800</DisableSpecificWarnings>
+    </ClCompile>
+    <Link>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalOptions>/EXPORT:pluginInit %(AdditionalOptions)</AdditionalOptions>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\pluginsdk\Config.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Connections.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Core.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Hooks.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Hubs.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Logger.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Queue.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Tagger.cpp" />
+    <ClCompile Include="..\..\pluginsdk\UI.cpp" />
+    <ClCompile Include="..\..\pluginsdk\Util.cpp" />
+    <ClCompile Include="..\..\src\main.cpp" />
+    <ClCompile Include="..\..\src\Plugin.cpp" />
+    <ClCompile Include="..\..\src\stdafx.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\pluginsdk\Config.h" />
+    <ClInclude Include="..\..\pluginsdk\Connections.h" />
+    <ClInclude Include="..\..\pluginsdk\Core.h" />
+    <ClInclude Include="..\..\pluginsdk\Hooks.h" />
+    <ClInclude Include="..\..\pluginsdk\Hubs.h" />
+    <ClInclude Include="..\..\pluginsdk\Logger.h" />
+    <ClInclude Include="..\..\pluginsdk\PluginDefs.h" />
+    <ClInclude Include="..\..\pluginsdk\Queue.h" />
+    <ClInclude Include="..\..\pluginsdk\Tagger.h" />
+    <ClInclude Include="..\..\pluginsdk\UI.h" />
+    <ClInclude Include="..\..\pluginsdk\Util.h" />
+    <ClInclude Include="..\..\src\Plugin.h" />
+    <ClInclude Include="..\..\src\resource.h" />
+    <ClInclude Include="..\..\src\stdafx.h" />
+    <ClInclude Include="..\..\src\version.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\resource.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

=== added file 'pluginsdk/cpp/projects/vs2010/Plugin.vcxproj.filters'
--- pluginsdk/cpp/projects/vs2010/Plugin.vcxproj.filters	1970-01-01 00:00:00 +0000
+++ pluginsdk/cpp/projects/vs2010/Plugin.vcxproj.filters	2012-11-12 18:26:21 +0000
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+    </Filter>
+    <Filter Include="Source Files\Plugin SDK">
+      <UniqueIdentifier>{06f1f0f7-e8f5-48f2-999e-e53a04056b83}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\Plugin SDK">
+      <UniqueIdentifier>{ff6b64da-cee7-4033-bcef-4b0545314cbe}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\main.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\Plugin.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\stdafx.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Config.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Connections.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Core.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Hooks.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Hubs.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Logger.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Queue.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\UI.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Util.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\pluginsdk\Tagger.cpp">
+      <Filter>Source Files\Plugin SDK</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\src\Plugin.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\resource.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\stdafx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\version.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Config.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Connections.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Core.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Hooks.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Hubs.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Logger.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Queue.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\UI.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Util.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\Tagger.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\pluginsdk\PluginDefs.h">
+      <Filter>Header Files\Plugin SDK</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\resource.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file

=== modified file 'pluginsdk/cpp/projects/vs2012/Plugin.vcxproj'
--- pluginsdk/cpp/projects/vs2012/Plugin.vcxproj	2012-11-11 18:37:03 +0000
+++ pluginsdk/cpp/projects/vs2012/Plugin.vcxproj	2012-11-12 18:26:21 +0000
@@ -44,7 +44,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;PLUGIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <WarningLevel>Level4</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <Optimization>Disabled</Optimization>
@@ -55,12 +55,13 @@
       <TargetMachine>MachineX86</TargetMachine>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
+      <AdditionalOptions>/EXPORT:pluginInit %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PLUGIN_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <WarningLevel>Level4</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <AdditionalIncludeDirectories>../../</AdditionalIncludeDirectories>
@@ -72,6 +73,7 @@
       <SubSystem>Windows</SubSystem>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalOptions>/EXPORT:pluginInit %(AdditionalOptions)</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
@@ -90,9 +92,6 @@
     <ClCompile Include="..\..\src\stdafx.cpp" />
   </ItemGroup>
   <ItemGroup>
-    <None Include="..\..\src\Plugin.def" />
-  </ItemGroup>
-  <ItemGroup>
     <ClInclude Include="..\..\pluginsdk\Config.h" />
     <ClInclude Include="..\..\pluginsdk\Connections.h" />
     <ClInclude Include="..\..\pluginsdk\Core.h" />

=== modified file 'pluginsdk/cpp/projects/vs2012/Plugin.vcxproj.filters'
--- pluginsdk/cpp/projects/vs2012/Plugin.vcxproj.filters	2012-11-11 18:37:03 +0000
+++ pluginsdk/cpp/projects/vs2012/Plugin.vcxproj.filters	2012-11-12 18:26:21 +0000
@@ -62,11 +62,6 @@
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <None Include="..\..\src\Plugin.def">
-      <Filter>Source Files</Filter>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
     <ClInclude Include="..\..\src\Plugin.h">
       <Filter>Header Files</Filter>
     </ClInclude>

=== modified file 'pluginsdk/cpp/src/Plugin.cpp'
--- pluginsdk/cpp/src/Plugin.cpp	2012-11-11 18:37:03 +0000
+++ pluginsdk/cpp/src/Plugin.cpp	2012-11-12 18:26:21 +0000
@@ -56,7 +56,7 @@
 	case ON_UNLOAD:
 		{
 			delete instance;
-			instance = nullptr;
+			instance = 0;
 			return True;
 		}
 

=== removed file 'pluginsdk/cpp/src/Plugin.def'
--- pluginsdk/cpp/src/Plugin.def	2012-11-11 18:37:03 +0000
+++ pluginsdk/cpp/src/Plugin.def	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-EXPORTS
-	pluginInit = _pluginInit@4 @1

=== modified file 'pluginsdk/cpp/src/version.h'
--- pluginsdk/cpp/src/version.h	2012-11-11 18:37:03 +0000
+++ pluginsdk/cpp/src/version.h	2012-11-12 18:26:21 +0000
@@ -18,6 +18,8 @@
 
 /* Information about the plugin - fill this out! Don't forget to edit the resource file as well. */
 
+#error Version information not set! Remove this error once you have filled version.h and the resource file.
+
 #ifndef PLUGIN_VERSION_H
 #define PLUGIN_VERSION_H