diff --git a/.gitignore b/.gitignore
index 35ed7d87f9..22753a30f2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -474,4 +474,4 @@
/utils/hhp2cached/*Carbon?Release*
# /utils/wxrc/
-/utils/wxrc/*.sln
+/utils/wxrc/wxrc_vc[789].sln
diff --git a/utils/wxrc/wxrc.vcxproj b/utils/wxrc/wxrc.vcxproj
new file mode 100644
index 0000000000..83bf506413
--- /dev/null
+++ b/utils/wxrc/wxrc.vcxproj
@@ -0,0 +1,160 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}
+ Win32Proj
+ wxrc
+ 10.0.17134.0
+
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(wxIntRootDir)
+ $(wxIntRootDir)
+
+
+ true
+ $(wxIntRootDir)
+ $(wxIntRootDir)
+
+
+ false
+ $(wxIntRootDir)
+ $(wxIntRootDir)
+
+
+ false
+ $(wxIntRootDir)
+ $(wxIntRootDir)
+
+
+
+ Level4
+ Disabled
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level4
+ Disabled
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level4
+ MaxSpeed
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/utils/wxrc/wxrc.vcxproj.filters b/utils/wxrc/wxrc.vcxproj.filters
new file mode 100644
index 0000000000..83be04486c
--- /dev/null
+++ b/utils/wxrc/wxrc.vcxproj.filters
@@ -0,0 +1,14 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+
+
+ Source Files
+
+
+
diff --git a/utils/wxrc/wxrc_vc10.sln b/utils/wxrc/wxrc_vc10.sln
new file mode 100644
index 0000000000..92d491bb8b
--- /dev/null
+++ b/utils/wxrc/wxrc_vc10.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxrc", "wxrc.vcxproj", "{AF3B845A-1816-49F3-AB4B-A1B418DF33A8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.ActiveCfg = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.Build.0 = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.ActiveCfg = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.Build.0 = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.ActiveCfg = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.Build.0 = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.ActiveCfg = Release|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {76B59F06-8DB6-4844-BEF7-C3403271EE5D}
+ EndGlobalSection
+EndGlobal
diff --git a/utils/wxrc/wxrc_vc11.sln b/utils/wxrc/wxrc_vc11.sln
new file mode 100644
index 0000000000..d20477314d
--- /dev/null
+++ b/utils/wxrc/wxrc_vc11.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxrc", "wxrc.vcxproj", "{AF3B845A-1816-49F3-AB4B-A1B418DF33A8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.ActiveCfg = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.Build.0 = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.ActiveCfg = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.Build.0 = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.ActiveCfg = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.Build.0 = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.ActiveCfg = Release|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {76B59F06-8DB6-4844-BEF7-C3403271EE5D}
+ EndGlobalSection
+EndGlobal
diff --git a/utils/wxrc/wxrc_vc12.sln b/utils/wxrc/wxrc_vc12.sln
new file mode 100644
index 0000000000..b2b2072c47
--- /dev/null
+++ b/utils/wxrc/wxrc_vc12.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxrc", "wxrc.vcxproj", "{AF3B845A-1816-49F3-AB4B-A1B418DF33A8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.ActiveCfg = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.Build.0 = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.ActiveCfg = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.Build.0 = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.ActiveCfg = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.Build.0 = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.ActiveCfg = Release|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {76B59F06-8DB6-4844-BEF7-C3403271EE5D}
+ EndGlobalSection
+EndGlobal
diff --git a/utils/wxrc/wxrc_vc14.sln b/utils/wxrc/wxrc_vc14.sln
new file mode 100644
index 0000000000..5ad28ad40d
--- /dev/null
+++ b/utils/wxrc/wxrc_vc14.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxrc", "wxrc.vcxproj", "{AF3B845A-1816-49F3-AB4B-A1B418DF33A8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.ActiveCfg = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.Build.0 = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.ActiveCfg = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.Build.0 = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.ActiveCfg = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.Build.0 = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.ActiveCfg = Release|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {76B59F06-8DB6-4844-BEF7-C3403271EE5D}
+ EndGlobalSection
+EndGlobal
diff --git a/utils/wxrc/wxrc_vc15.sln b/utils/wxrc/wxrc_vc15.sln
new file mode 100644
index 0000000000..a15a450568
--- /dev/null
+++ b/utils/wxrc/wxrc_vc15.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27703.2026
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxrc", "wxrc.vcxproj", "{AF3B845A-1816-49F3-AB4B-A1B418DF33A8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.ActiveCfg = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x64.Build.0 = Debug|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.ActiveCfg = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Debug|x86.Build.0 = Debug|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.ActiveCfg = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x64.Build.0 = Release|x64
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.ActiveCfg = Release|Win32
+ {AF3B845A-1816-49F3-AB4B-A1B418DF33A8}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {76B59F06-8DB6-4844-BEF7-C3403271EE5D}
+ EndGlobalSection
+EndGlobal