In file included from ../../poppler-0.30.0/poppler/GlobalParams.cc:59:0:
F:/e41/mingw/include/shlobj.h:37:3: error: 'EXTERN_C' does not name a type
   SHFOLDERAPI SHGetFolderPathW (HWND hwnd, int csidl, HANDLE hToken, DWORD
dwFlags, LPWSTR pszPath);






this line is preprocessed into

EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE SHGetFolderPathW (HWND hwnd,
int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath);








if i add #include <basetyps.h> to shlobj.h, i get this:

In file included from ../../poppler-0.30.0/poppler/GlobalParams.cc:59:0:
F:/e41/mingw/include/shlobj.h:38:3: error: 'DECLSPEC_IMPORT' does not name a 
type
   SHFOLDERAPI SHGetFolderPathW (HWND hwnd, int csidl, HANDLE hToken, DWORD
dwFlags, LPWSTR pszPath);
   ^
In file included from F:/e41/mingw/include/windows.h:108:0,
                 from F:/e41/mingw/include/rpc.h:16,
                 from F:/e41/mingw/include/objbase.h:7,
                 from F:/e41/mingw/include/ole2.h:17,
                 from F:/e41/mingw/include/shlobj.h:108,
                 from ../../poppler-0.30.0/poppler/GlobalParams.cc:59:
F:/e41/mingw/include/commdlg.h:575:53: error: expected class-name before '{' 
token
   DECLARE_INTERFACE_(IPrintDialogCallback,IUnknown) {
                                                     ^
F:/e41/mingw/include/commdlg.h:588:53: error: expected class-name before '{' 
token
   DECLARE_INTERFACE_(IPrintDialogServices,IUnknown) {
                                                     ^
F:/e41/mingw/include/commdlg.h:621:5: error: 'LPUNKNOWN' does not name a type
     LPUNKNOWN lpCallback;
     ^
F:/e41/mingw/include/commdlg.h:645:5: error: 'LPUNKNOWN' does not name a type
     LPUNKNOWN lpCallback;







the first problematic line is preprocessed into

extern "C" DECLSPEC_IMPORT HRESULT WINAPI SHGetFolderPathW (HWND hwnd, int
csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath);





if i add #include <ntdef.h> to shlobj.h, i get this:

In file included from ../../poppler-0.30.0/poppler/GlobalParams.cc:59:0:
F:/e41/mingw/include/shlobj.h:39:15: error: expected initializer before
'SHGetFolderPathW'
   SHFOLDERAPI SHGetFolderPathW (HWND hwnd, int csidl, HANDLE hToken, DWORD
dwFlags, LPWSTR pszPath);
               ^
In file included from F:/e41/mingw/include/windows.h:108:0,
                 from F:/e41/mingw/include/rpc.h:16,
                 from F:/e41/mingw/include/objbase.h:7,
                 from F:/e41/mingw/include/ole2.h:17,
                 from F:/e41/mingw/include/shlobj.h:109,
                 from ../../poppler-0.30.0/poppler/GlobalParams.cc:59:
F:/e41/mingw/include/commdlg.h:575:53: error: expected class-name before '{' 
token
   DECLARE_INTERFACE_(IPrintDialogCallback,IUnknown) {
                                                     ^
F:/e41/mingw/include/commdlg.h:588:53: error: expected class-name before '{' 
token
   DECLARE_INTERFACE_(IPrintDialogServices,IUnknown) {
                                                     ^
F:/e41/mingw/include/commdlg.h:621:5: error: 'LPUNKNOWN' does not name a type
     LPUNKNOWN lpCallback;
     ^
F:/e41/mingw/include/commdlg.h:645:5: error: 'LPUNKNOWN' does not name a type
     LPUNKNOWN lpCallback;
     ^



the first problematic line is preprocessed into

  extern "C" __attribute__((dllimport)) HRESULT WINAPI SHGetFolderPathW (HWND
hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath);






if i add #include <wincrypt.h> to shlobj.h, i get tons of errors.
if i add #include <windef.h> before that, i get an error about undefined
PSYSTEMTIME
if i add #include <wtypesbase.h> between wincrypt and windef, FINALLY
everything compiles.


Note that shlobj.h is a not a part of the Windows header tree and is not
included by any usual Windows headers (windows.h et all), so i'd say that it
should be self-sufficient and should not rely on the user to already have all
necessary includes in place (well, it would be nice to have header files with
no includes, but that's not realistic with CRT or W32 API).


-- 
O< ascii ribbon - stop html email! - www.asciiribbon.org

Attachment: 0x922360B0.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to