Since I was told the winlib docs are out of date, I'll try posting this problem.
winemaker --interactive seems to have worked and converted the 'winders' source .cpp and .h files and made the backups fine. It only created one file;
Makefile
When I type 'make' it produced a bunch of afx errors needing only five afx*. h files, so I copied these over from the VS6 directory, ran 'make clean', but hen it needed a ton more, so I copied them all afx*.h and afx*.inl. Then 'make' gets all the way down to the first errors;
/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 In file included from afxdtctl.h:19, from StdAfx.h:18, from ArbreNiv.cpp:2: 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' afxdisp.h:1259: error: friend declaration requires class-key, i.e. `friend class COleDateTime' afxdisp.h:1408: warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>) 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)
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.
Shaun
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