diff --git a/DDCore/src/Primitives.cpp b/DDCore/src/Primitives.cpp
index acc8bbcb59f411d95f396fbca281920ac1138a0f..13ee2367e38e53d51ba3172f2c3cf1f299ecd07d 100644
--- a/DDCore/src/Primitives.cpp
+++ b/DDCore/src/Primitives.cpp
@@ -36,6 +36,7 @@ using   abi::__dynamic_cast;
 // and endian-ness issues if used across multiple platforms.
 static inline uint64_t murmur_hash_64 ( const void * key, int len)  {
 #define seed 0xFEEDBABE
+  typedef unsigned long long int uint64;
 	const unsigned int * data = (const unsigned int *)key;
 #if INTPTR_MAX == INT32_MAX
 	const unsigned int m = 0x5bd1e995;
@@ -78,21 +79,21 @@ static inline uint64_t murmur_hash_64 ( const void * key, int len)  {
 	h1 ^= h2 >> 17; h1 *= m;
 	h2 ^= h1 >> 19; h2 *= m;
 
-	uint64_t h = h1;
+	uint64 h = h1;
 
 	h = (h << 32) | h2;
 #elif INTPTR_MAX == INT64_MAX
-	const uint64_t m = 0xc6a4a7935bd1e995;
+	const uint64 m = 0xc6a4a7935bd1e995;
 	const int r = 47;
 
-	uint64_t h = seed ^ (len * m);
+	uint64 h = seed ^ (len * m);
 
-	const uint64_t * data = (const uint64_t *)key;
-	const uint64_t * end = data + (len/8);
+	const uint64 * data = (const uint64 *)key;
+	const uint64 * end = data + (len/8);
 
 	while(data != end)
 	{
-		uint64_t k = *data++;
+		uint64 k = *data++;
 
 		k *= m; 
 		k ^= k >> r; 
@@ -106,13 +107,13 @@ static inline uint64_t murmur_hash_64 ( const void * key, int len)  {
 
 	switch(len & 7)
 	{
-	case 7: h ^= uint64_t(data2[6]) << 48;
-	case 6: h ^= uint64_t(data2[5]) << 40;
-	case 5: h ^= uint64_t(data2[4]) << 32;
-	case 4: h ^= uint64_t(data2[3]) << 24;
-	case 3: h ^= uint64_t(data2[2]) << 16;
-	case 2: h ^= uint64_t(data2[1]) << 8;
-	case 1: h ^= uint64_t(data2[0]);
+	case 7: h ^= uint64(data2[6]) << 48;
+	case 6: h ^= uint64(data2[5]) << 40;
+	case 5: h ^= uint64(data2[4]) << 32;
+	case 4: h ^= uint64(data2[3]) << 24;
+	case 3: h ^= uint64(data2[2]) << 16;
+	case 2: h ^= uint64(data2[1]) << 8;
+	case 1: h ^= uint64(data2[0]);
     h *= m;
 	};