diff --git a/bin/Resources/libgme64.dll b/bin/Resources/libgme64.dll
new file mode 100644
index 0000000000000000000000000000000000000000..2f569b01f35146cb432c8b204d10ea5edcfb011e
Binary files /dev/null and b/bin/Resources/libgme64.dll differ
diff --git a/libs/gme/win64/libgme.dll.a b/libs/gme/win64/libgme.dll.a
new file mode 100644
index 0000000000000000000000000000000000000000..e15767085e7b0f5a7ea5f1e91972d5f33976a403
Binary files /dev/null and b/libs/gme/win64/libgme.dll.a differ
diff --git a/objs/djgppdos/Debug/.gitignore b/objs/djgppdos/Debug/.gitignore
index 867fcb4e0398725385e346dbc7352fe8b3b9f0e7..8f6d0bdcdcdb8a1f18112fb0893d8f1338f7088b 100644
--- a/objs/djgppdos/Debug/.gitignore
+++ b/objs/djgppdos/Debug/.gitignore
@@ -1 +1,2 @@
 /depend.dep
+/*.o
diff --git a/objs/djgppdos/Release/.gitignore b/objs/djgppdos/Release/.gitignore
index 867fcb4e0398725385e346dbc7352fe8b3b9f0e7..8f6d0bdcdcdb8a1f18112fb0893d8f1338f7088b 100644
--- a/objs/djgppdos/Release/.gitignore
+++ b/objs/djgppdos/Release/.gitignore
@@ -1 +1,2 @@
 /depend.dep
+/*.o
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9b20d971019d4c5d1c1c6793531afc8f74a534da..d575f33ed74d77a5e9b3af83ace68c40434d78e1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -321,7 +321,11 @@ if(${SRB2_CONFIG_HAVE_GME})
 	if(${SRB2_CONFIG_USE_INTERNAL_LIBRARIES})
 		set(GME_FOUND ON)
 		set(GME_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/gme/include)
-		set(GME_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/gme/win32 -lgme")
+        if(${SRB2_SYSTEM_BITS} EQUAL 64)
+			set(GME_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/gme/win64 -lgme")
+		else() # 32-bit
+			set(GME_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/gme/win32 -lgme")
+		endif()
 	else()
 		find_package(GME)
 	endif()