FAILED: 21.5.26 build with MSVC++ 2008 Starter edition

Matthew Persico matthew.persico at gmail.com
Fri May 9 23:19:19 EDT 2008


On Thu, May 8, 2008 at 11:06 PM, Sean MacLennan <seanm at seanm.ca> wrote:
> Try adding the flags:
>
> _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE

Decided to try and use the VisualStudio tools instead of struggling
with a Dos command line.
Couldn't figure out where to set the two flags above so I just changed
the code in lisp.h at line 5398 to use the underbar-ed versions:

DECLARE _INLINE_HEADER (Ibyte *qxestrupr (Ibyte *s))
{
  return (Ibyte *) _strupr ((Chbyte *) s);
}

DECLARE_INLINE_HEADER (Ibyte *qxestrlwr (Ibyte *s))
{
  return (Ibyte *) _strlwr ((Chbyte *) s);
}

Now I am left with this:

c:\opt\xemacs\src\xemacs-21.5.28\src\intl-auto-encap-win32.h(80) :
error C2061: syntax error : identifier 'LPSHQUERYRBINFO'

The code in question is this:

HRESULT qxeSHQueryRecycleBin (const Extbyte * pszRootPath,
LPSHQUERYRBINFO pSHQueryRBInfo);

and LPSHQUERYRBINFO  comes from ShellAPI.h, line 907:

// struct for query recycle bin info
typedef struct _SHQUERYRBINFO {
    DWORD   cbSize;
#if !defined(_MAC) || defined(_MAC_INT_64)
    __int64 i64Size;
    __int64 i64NumItems;
#else
    DWORDLONG i64Size;
    DWORDLONG i64NumItems;
#endif
} SHQUERYRBINFO, *LPSHQUERYRBINFO;

Twenty lines later we have these two lines, which seem to be happy:

SHSTDAPI SHQueryRecycleBinA(LPCSTR pszRootPath, __inout
LPSHQUERYRBINFO pSHQueryRBInfo);
SHSTDAPI SHQueryRecycleBinW(LPCWSTR pszRootPath, __inout
LPSHQUERYRBINFO pSHQueryRBInfo);

so in a bit of cargo-cult programming I treid

HRESULT qxeSHQueryRecycleBin (const Extbyte * pszRootPath, __inout
LPSHQUERYRBINFO pSHQueryRBInfo);

No dice.

This all looks ok to me, but then again, my 'C' is pretty rusty.
Anyone care to point out something obvious that I have misssed here in
my diagnosis?

>
> They should clear up the warnings.
>
> Cheers,
>   Sean
>



-- 
Matthew O. Persico



More information about the XEmacs-Beta mailing list