diff --git a/assets/icon.ico b/assets/icon.ico
new file mode 100644
index 0000000..2a10780
Binary files /dev/null and b/assets/icon.ico differ
diff --git a/assets/resource.h b/assets/resource.h
new file mode 100644
index 0000000..32015bd
--- /dev/null
+++ b/assets/resource.h
@@ -0,0 +1 @@
+#define IDI_APPICON 101
diff --git a/assets/resource.rc b/assets/resource.rc
new file mode 100644
index 0000000..293e38d
--- /dev/null
+++ b/assets/resource.rc
@@ -0,0 +1,4 @@
+#include <windows.h>
+#include "resource.h"
+
+IDI_APPICON ICON "icon.ico"
diff --git a/src/main.cpp b/src/main.cpp
index eb07970..d660774 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -40,7 +40,11 @@
 
 #include "binding.h"
 
+#ifdef __WINDOWS__
+#include "resource.h"
+#elif __LINUX__
 #include "icon.png.xxd"
+#endif
 
 static void
 rgssThreadError(RGSSThreadData *rtData, const std::string &msg)