From: Jan Engelhardt Date: 2015-03-26 10:55:28.730890877 +0100 In downstream packages, gcc emits: CC master.o In file included from master.c:48:0: /usr/x86_64-w64-mingw32/sys-root/mingw/include/shlobj.h:37:3: error: unknown type name 'EXTERN_C' SHFOLDERAPI SHGetFolderPathW (HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath); SHLFOLDERAPI is defined to expand to something with EXTERN_C, however, EXTERN_C is not defined at the time of SHGetFolderPathW declaration. --- include/shlobj.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: mingw-w64-headers/include/shlobj.h =================================================================== --- mingw-w64-headers.orig/include/shlobj.h +++ mingw-w64-headers/include/shlobj.h @@ -34,7 +34,6 @@ typedef enum { SHGFP_TYPE_DEFAULT = 1, } SHGFP_TYPE; - SHFOLDERAPI SHGetFolderPathW (HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath); #endif @@ -718,6 +717,7 @@ extern "C" { SHSTDAPI_(void) SHFlushSFCache (void); SHFOLDERAPI SHGetFolderPathA (HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPSTR pszPath); + SHFOLDERAPI SHGetFolderPathW (HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath); SHSTDAPI SHGetFolderLocation (HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, PIDLIST_ABSOLUTE *ppidl); SHSTDAPI SHSetFolderPathA (int csidl, HANDLE hToken, DWORD dwFlags, LPCSTR pszPath); SHSTDAPI SHSetFolderPathW (int csidl, HANDLE hToken, DWORD dwFlags, LPCWSTR pszPath);