summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/inc/internal/utilities.hxx23
1 files changed, 23 insertions, 0 deletions
diff --git a/shell/inc/internal/utilities.hxx b/shell/inc/internal/utilities.hxx
index 2697c8002dc6..3a410bf37e08 100644
--- a/shell/inc/internal/utilities.hxx
+++ b/shell/inc/internal/utilities.hxx
@@ -44,8 +44,31 @@
#include <string>
#define STRSAFE_NO_DEPRECATE
+#ifdef __MINGW32__
+
+// Work around lack of strsafe library in mingw-w64, do let their
+// strsafe.h provide inlines of StringCchVPrintfA etc, avoid linking
+// errors in a debug build.
+#ifdef __CRT__NO_INLINE
+#undef __CRT__NO_INLINE
+#define DID_UNDEFINE__CRT__NO_INLINE
+#endif
+
+extern "C" {
+
+#endif
+
#include <strsafe.h>
+#ifdef __MINGW32__
+}
+
+#ifdef DID_UNDEFINE__CRT__NO_INLINE
+#define __CRT__NO_INLINE
+#endif
+
+#endif
+
//---------------------------------
/** Convert a string to a wstring
using CP_ACP