MFC app compile problems with AFX

Robert Shearman R.J.Shearman at warwick.ac.uk
Thu Apr 1 17:55:12 CST 2004


Shaun wrote:
>
> /usr/local/include/wine/windows/rpcndr.h:383: error: non-local function `
>    <anonymous struct>* NDRSContextUnmarshall2(void*, void*, long unsigned
> int,
>    void*, long unsigned int)' uses anonymous type

I can't see anything wrong with this declaration as it is in CVS.
NDR_SCONTEXT (which is presumably what it is complaining about) is declared
near the top exactly how it is in the MS SDK. You could try changing the
declaration of NDR_SCONTEXT to use "typedef struct _NDR_SCONTEXT ..."
instead of "typedef struct ...".

> In file included from afxdtctl.h:19,
>                  from StdAfx.h:18,
>                  from ArbreNiv.cpp:2:

On the headers that I have (VS6) afxdtctl.h doesn't directly include any rpc
headers.

> afxdisp.h:75: warning: malformed '#pragma pack(push[, id], <n>)' - ignored
> afxdisp.h:1182: error: friend declaration requires class-key, i.e. `friend
>    struct COleDateTimeSpan'

You need to fix the header to include the "class" keyword before the class
name.

> afxdisp.h:1259: error: friend declaration requires class-key, i.e. `friend
>    class COleDateTime'

Ditto.

> afxdisp.h:1408: warning: #pragma pack (pop) encountered without matching
>    #pragma pack (push, <n>)

Looks harmless.

> In file included from afxdisp.h:1413,
>                  from afxdtctl.h:19,
>                  from StdAfx.h:18,
>                  from ArbreNiv.cpp:2:
> afxole.inl: In constructor `COleVariant::COleVariant(const CHAR*)':
> afxole.inl:97: error: `vt' undeclared (first use this function)
> afxole.inl:97: error: (Each undeclared identifier is reported
> only once for
>    each function it appears in.)
> afxole.inl: In constructor `COleVariant::COleVariant(unsigned char)':
> afxole.inl:101: error: `bVal' undeclared (first use this function)
> afxole.inl: In constructor `COleVariant::COleVariant(const
> COleCurrency&)':
> afxole.inl:103: error: `cyVal' undeclared (first use this function)
> afxole.inl: In constructor `COleVariant::COleVariant(float)':
> afxole.inl:105: error: `fltVal' undeclared (first use this function)
> afxole.inl: In constructor `COleVariant::COleVariant(double)':
> afxole.inl:107: error: `dblVal' undeclared (first use this function)
> afxole.inl: In constructor `COleVariant::COleVariant(const
> COleDateTime&)':
> afxole.inl:109: error: `date' undeclared (first use this function)
> afxole.inl: In member function `DWORD COleSafeArray::GetDim()':
> afxole.inl:283: error: `parray' undeclared (first use this function)

Presumably some of them are caused by the friend errors above.

> Can anyone help? Any ideas for me to try? I can run the winders
> executable
> with wine, but it's very buggy and will crash easily, so I wanted to use
> winelib.

Unfortunately, it is unlikely to improve the situation by compiling as
winelib. Of course, you can debug the program slightly easier but at some
point you will have to fix the same bugs in Wine.

Rob





More information about the wine-devel mailing list