diff --git a/src/guiMainMenu.cpp b/src/guiMainMenu.cpp
index 9e6b01dd6f55570be67e4a369d0ea905a553f353..5dc73cd96c983500718a316a8ddff5c875c5f11f 100644
--- a/src/guiMainMenu.cpp
+++ b/src/guiMainMenu.cpp
@@ -43,6 +43,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "subgame.h"
 
 #define ARRAYLEN(x) (sizeof(x) / sizeof((x)[0]))
+#define LSTRING(x) LSTRING_(x)
+#define LSTRING_(x) L##x
 
 const wchar_t *contrib_core_strs[] = {
 	L"Perttu Ahola (celeron55) <celeron55@gmail.com>",
@@ -760,7 +762,7 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
 			core::rect<s32> rect(0, 0, 130, 70);
 			rect += m_topleft_client + v2s32(35, 160);
 			Environment->addStaticText(
-				L"Minetest " VERSION_STRING "\nhttp://minetest.net/",
+				L"Minetest " LSTRING(VERSION_STRING) L"\nhttp://minetest.net/",
 				 rect, false, true, this, -1);
 		}
 		{
diff --git a/src/map.h b/src/map.h
index 3833cceb4c2d80bc36cdb2c27c12149d6512a8c2..31001e4c397b9342a430671bf2e85d4f668b00a6 100644
--- a/src/map.h
+++ b/src/map.h
@@ -50,7 +50,7 @@ class NodeMetadata;
 class IGameDef;
 class IRollbackReportSink;
 class EmergeManager;
-class BlockMakeData;
+struct BlockMakeData;
 
 
 /*
diff --git a/src/mapgen.h b/src/mapgen.h
index f4bd659fb068034ff529aeae949aa9e16a6f96e2..2e917a3aae93e167f2420aca1f9cd0634921ce91 100644
--- a/src/mapgen.h
+++ b/src/mapgen.h
@@ -45,7 +45,7 @@ class MapBlock;
 class ManualMapVoxelManipulator;
 class VoxelManipulator;
 class INodeDefManager;
-class BlockMakeData;
+struct BlockMakeData;
 class VoxelArea;
 
 struct MapgenParams {
diff --git a/src/profiler.h b/src/profiler.h
index 56b02688037805cca13443b4b6ca2f062d2d76a4..271ad70c1f1947c0b03dfd575b7ce656a1cb592f 100644
--- a/src/profiler.h
+++ b/src/profiler.h
@@ -73,7 +73,7 @@ class Profiler
 			else{
 				/* No add shall have been used */
 				assert(n->second != -2);
-				n->second = std::max(n->second, 0) + 1;
+				n->second = (std::max)(n->second, 0) + 1;
 			}
 		}
 		{