diff --git a/Externals/cpp-ipc/cpp-ipc.vcxproj b/Externals/cpp-ipc/cpp-ipc.vcxproj
new file mode 100644
index 00000000000..61dc5eda6e8
--- /dev/null
+++ b/Externals/cpp-ipc/cpp-ipc.vcxproj
@@ -0,0 +1,78 @@
+
+
+
+
+
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cpp-ipc\include;cpp-ipc\src;%(AdditionalIncludeDirectories)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Externals/cpp-ipc/exports.props b/Externals/cpp-ipc/exports.props
new file mode 100644
index 00000000000..bbcdc43b66a
--- /dev/null
+++ b/Externals/cpp-ipc/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)cpp-ipc\cpp-ipc\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}
+
+
+
diff --git a/Source/dolphin-emu.sln b/Source/dolphin-emu.sln
index f1183c287f6..64650e330f4 100644
--- a/Source/dolphin-emu.sln
+++ b/Source/dolphin-emu.sln
@@ -49,6 +49,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "..\Externals\curl\c
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glslang", "..\Externals\glslang\glslang.vcxproj", "{D178061B-84D3-44F9-BEED-EFD18D9033F0}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-ipc", "..\Externals\cpp-ipc\cpp-ipc.vcxproj", "{7299DDD3-BBEC-4027-AF30-8DACC5415F96}"
+EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-optparse", "..\Externals\cpp-optparse\cpp-optparse.vcxproj", "{C636D9D1-82FE-42B5-9987-63B7D4836341}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cubeb", "..\Externals\cubeb\msvc\cubeb.vcxproj", "{8EA11166-6512-44FC-B7A5-A4D1ECC81170}"
@@ -271,6 +273,14 @@ Global
{D178061B-84D3-44F9-BEED-EFD18D9033F0}.Release|ARM64.Build.0 = Release|ARM64
{D178061B-84D3-44F9-BEED-EFD18D9033F0}.Release|x64.ActiveCfg = Release|x64
{D178061B-84D3-44F9-BEED-EFD18D9033F0}.Release|x64.Build.0 = Release|x64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|ARM64.Build.0 = Debug|ARM64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|x64.ActiveCfg = Debug|x64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|x64.Build.0 = Debug|x64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|ARM64.ActiveCfg = Release|ARM64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|ARM64.Build.0 = Release|ARM64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|x64.ActiveCfg = Release|x64
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|x64.Build.0 = Release|x64
{C636D9D1-82FE-42B5-9987-63B7D4836341}.Debug|ARM64.ActiveCfg = Debug|ARM64
{C636D9D1-82FE-42B5-9987-63B7D4836341}.Debug|ARM64.Build.0 = Debug|ARM64
{C636D9D1-82FE-42B5-9987-63B7D4836341}.Debug|x64.ActiveCfg = Debug|x64
@@ -456,6 +466,7 @@ Global
{CBC76802-C128-4B17-BF6C-23B08C313E5E} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
{BB00605C-125F-4A21-B33B-7BF418322DCB} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
{D178061B-84D3-44F9-BEED-EFD18D9033F0} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
+ {7299DDD3-BBEC-4027-AF30-8DACC5415F96} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
{C636D9D1-82FE-42B5-9987-63B7D4836341} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
{8EA11166-6512-44FC-B7A5-A4D1ECC81170} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
{38FEE76F-F347-484B-949C-B4649381CFFB} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}