diff --git a/.gitignore b/.gitignore
index 3ef397e..e7c5f21 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,6 @@ Makefile
 mkxp
 xxd+
 
-/build
\ No newline at end of file
+/build
+mkxp.layout
+mkxp.cbp
diff --git a/binding-mri/binding-mri.cpp b/binding-mri/binding-mri.cpp
index ac54a07..7ef69ae 100644
--- a/binding-mri/binding-mri.cpp
+++ b/binding-mri/binding-mri.cpp
@@ -26,8 +26,9 @@
 #include "filesystem.h"
 #include "util.h"
 #include "debugwriter.h"
-
-#include <ruby.h>
+extern "C" {
+    #include <ruby.h>
+}
 #include <ruby/encoding.h>
 
 #include <string>
diff --git a/binding-mri/binding-util.h b/binding-mri/binding-util.h
index 2d1577e..daf9d0e 100644
--- a/binding-mri/binding-util.h
+++ b/binding-mri/binding-util.h
@@ -21,9 +21,9 @@
 
 #ifndef BINDING_UTIL_H
 #define BINDING_UTIL_H
-
-#include <ruby.h>
-
+extern "C" {
+    #include <ruby.h>
+}
 #include "exception.h"
 
 enum RbException
diff --git a/binding-mri/etc-binding.cpp b/binding-mri/etc-binding.cpp
index 4269da8..7283e6a 100644
--- a/binding-mri/etc-binding.cpp
+++ b/binding-mri/etc-binding.cpp
@@ -18,7 +18,6 @@
 ** You should have received a copy of the GNU General Public License
 ** along with mkxp.  If not, see <http://www.gnu.org/licenses/>.
 */
-
 #include "etc.h"
 #include "binding-util.h"
 #include "serializable-binding.h"
diff --git a/src/filesystem.cpp b/src/filesystem.cpp
index 7de9138..f460a29 100644
--- a/src/filesystem.cpp
+++ b/src/filesystem.cpp
@@ -328,7 +328,7 @@ RGSS_openArchive(PHYSFS_Io *io, const char *, int forWrite)
 		nameLen ^= advanceMagic(magic);
 
 		static char nameBuf[512];
-		uint i;
+		unsigned int i;
 		for (i = 0; i < nameLen; ++i)
 		{
 			char c;