diff --git a/aegisub/src/agi_pre.h b/aegisub/src/agi_pre.h index ef70361d2..e4e185aa3 100644 --- a/aegisub/src/agi_pre.h +++ b/aegisub/src/agi_pre.h @@ -89,16 +89,15 @@ #include #ifdef _WIN32 +// "Lean and mean" causes windows.h to include less stuff, mostly rarely-used things. +// We can't build without being "lean and mean", some of the things included by it has +// macros that clash with variable names around Aegisub causing strange build errors. #define WIN32_LEAN_AND_MEAN +// Windows.h must always be the first one, it defines a load of important things #include +#include #include -#include -#include -//#include -#include -#include -#include -//#include +//#include // Currently only used in audio_player_dsound2.cpp #else diff --git a/aegisub/src/audio_player_dsound2.cpp b/aegisub/src/audio_player_dsound2.cpp index 17a68c7a0..94911f6e8 100644 --- a/aegisub/src/audio_player_dsound2.cpp +++ b/aegisub/src/audio_player_dsound2.cpp @@ -42,10 +42,10 @@ #ifdef WITH_DIRECTSOUND #ifndef AGI_PRE -#include #include -#include #endif +#include +#include #include "audio_player_dsound2.h" #include "frame_main.h" diff --git a/aegisub/src/font_file_lister_freetype.cpp b/aegisub/src/font_file_lister_freetype.cpp index 0932eee5f..b9f7885bb 100644 --- a/aegisub/src/font_file_lister_freetype.cpp +++ b/aegisub/src/font_file_lister_freetype.cpp @@ -43,13 +43,10 @@ #ifdef WITH_FREETYPE2 #ifndef AGI_PRE -#ifdef __WINDOWS__ -#include -#endif - #include #endif +#include #include #include FT_FREETYPE_H #include FT_GLYPH_H diff --git a/aegisub/src/vfw_wrap.cpp b/aegisub/src/vfw_wrap.cpp index a3c5737d7..d17a6e2ad 100644 --- a/aegisub/src/vfw_wrap.cpp +++ b/aegisub/src/vfw_wrap.cpp @@ -42,11 +42,7 @@ // Headers #include "config.h" -#ifndef AGI_PRE -#ifdef __WINDOWS__ #include -#endif -#endif #include "vfw_wrap.h"