Hi All,
I'm completely new to wine, and am having trouble compiling code before it ever gets to the linker. Can anyone point me in the right direction?
BaseGameEntity.h:
#include <string>
class BaseGameEntity { private: int m_ID; static int m_iNextValidID;
void SetID(int val);
public: BaseGameEntity(int id) { SetID(id); }
virtual ~BaseGameEntity(){}
virtual void Update()=0; virtual bool HandleMessage(const long& msg)=0;
int ID()const{return m_ID;} };
BaseGameEntity.cpp:
#include "BaseGameEntity.h" #include <cassert>
int BaseGameEntity::m_iNextValidID = 0; void BaseGameEntity::SetID(int val) { assert ( (val >= m_iNextValidID) && "BaseGameEntity::SetID: invalid ID");
m_ID = val;
m_iNextValidID = m_ID + 1; }
Console:
make all wineg++ -c -mno-cygwin -I. -o BaseGameEntity.o BaseGameEntity.cpp In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cwchar:52, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/postypes.h:47, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/char_traits.h:47, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/string:47, from BaseGameEntity.h:12, from BaseGameEntity.cpp:1: /usr/include/wchar.h:62: error: conflicting declaration 'typedef unsigned int wint_t' /usr/include/wine/msvcrt/stdio.h:109: error: 'wint_t' has a previous declaration as 'typedef short unsigned int wint_t' In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cwchar:52, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/postypes.h:47, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/char_traits.h:47, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/string:47, from BaseGameEntity.h:12, from BaseGameEntity.cpp:1: /usr/include/wchar.h:527: error: expected initializer before '*' token /usr/include/wchar.h:534: error: '__FILE' was not declared in this scope /usr/include/wchar.h:534: error: '__fp' was not declared in this scope /usr/include/wchar.h:534: error: expected primary-expression before 'int' /usr/include/wchar.h:534: error: initializer expression list treated as compound expression /usr/include/wchar.h:534: error: expected ',' or ';' before 'throw' /usr/include/wchar.h:541: error: 'int fwprintf' redeclared as different kind of symbol /usr/include/wine/msvcrt/stdio.h:214: error: previous declaration of 'int fwprintf(FILE*, const wchar_t*, ...)' /usr/include/wchar.h:541: error: '__FILE' was not declared in this scope /usr/include/wchar.h:541: error: expected primary-expression before '__restrict__' /usr/include/wchar.h:542: error: expected primary-expression before 'const' /usr/include/wchar.h:542: error: expected primary-expression before '...' token /usr/include/wchar.h:553: error: declaration of C function 'int swprintf(wchar_t*, size_t, const wchar_t*, ...)' conflicts with /usr/include/wine/msvcrt/stdio.h:223: error: previous declaration 'int swprintf(wchar_t*, const wchar_t*, ...)' here /usr/include/wchar.h:559: error: 'int vfwprintf' redeclared as different kind of symbol /usr/include/wine/msvcrt/stdio.h:226: error: previous declaration of 'int vfwprintf(FILE*, const wchar_t*, char*)' /usr/include/wchar.h:559: error: '__FILE' was not declared in this scope /usr/include/wchar.h:559: error: expected primary-expression before '__restrict__' /usr/include/wchar.h:560: error: expected primary-expression before 'const' /usr/include/wchar.h:561: error: expected primary-expression before '__arg' /usr/include/wchar.h:575: error: declaration of C function 'int vswprintf(wchar_t*, size_t, const wchar_t*, char*)' conflicts with /usr/include/wine/msvcrt/stdio.h:227: error: previous declaration 'int vswprintf(wchar_t*, const wchar_t*, char*)' here /usr/include/wchar.h:582: error: 'int fwscanf' redeclared as different kind of symbol /usr/include/wine/msvcrt/stdio.h:216: error: previous declaration of 'int fwscanf(FILE*, const wchar_t*, ...)' /usr/include/wchar.h:582: error: '__FILE' was not declared in this scope /usr/include/wchar.h:582: error: expected primary-expression before '__restrict__' /usr/include/wchar.h:583: error: expected primary-expression before 'const' /usr/include/wchar.h:583: error: expected primary-expression before '...' token /usr/include/wchar.h:636: error: '__FILE' was not declared in this scope /usr/include/wchar.h:636: error: expected primary-expression before '__restrict__' /usr/include/wchar.h:637: error: expected primary-expression before 'const' /usr/include/wchar.h:638: error: expected primary-expression before '__arg' /usr/include/wchar.h:638: error: initializer expression list treated as compound expression /usr/include/wchar.h:692: error: 'wint_t fgetwc' redeclared as different kind of symbol /usr/include/wine/msvcrt/stdio.h:210: error: previous declaration of 'wint_t fgetwc(FILE*)' /usr/include/wchar.h:692: error: '__FILE' was not declared in this scope /usr/include/wchar.h:692: error: '__stream' was not declared in this scope /usr/include/wchar.h:693: error: 'wint_t getwc' redeclared as different kind of symbol /usr/include/wine/msvcrt/stdio.h:217: error: previous declaration of 'wint_t getwc(FILE*)' /usr/include/wchar.h:693: error: '__FILE' was not declared in this scope /usr/include/wchar.h:693: error: '__stream' was not declared in this scope /usr/include/wchar.h:706: error: '__FILE' has not been declared /usr/include/wchar.h:706: error: declaration of C function 'wint_t fputwc(wchar_t, int*)' conflicts with /usr/include/wine/msvcrt/stdio.h:212: error: previous declaration 'wint_t fputwc(wint_t, FILE*)' here /usr/include/wchar.h:707: error: '__FILE' has not been declared /usr/include/wchar.h:707: error: declaration of C function 'wint_t putwc(wchar_t, int*)' conflicts with /usr/include/wine/msvcrt/stdio.h:220: error: previous declaration 'wint_t putwc(wint_t, FILE*)' here /usr/include/wchar.h:713: error: declaration of C function 'wint_t putwchar(wchar_t)' conflicts with /usr/include/wine/msvcrt/stdio.h:221: error: previous declaration 'wint_t putwchar(wint_t)' here /usr/include/wchar.h:722: error: '__FILE' has not been declared /usr/include/wchar.h:722: error: declaration of C function 'wchar_t* fgetws(wchar_t*, int, int*)' conflicts with /usr/include/wine/msvcrt/stdio.h:211: error: previous declaration 'wchar_t* fgetws(wchar_t*, int, FILE*)' here /usr/include/wchar.h:729: error: '__FILE' has not been declared /usr/include/wchar.h:729: error: declaration of C function 'int fputws(const wchar_t*, int*)' conflicts with /usr/include/wine/msvcrt/stdio.h:215: error: previous declaration 'int fputws(const wchar_t*, FILE*)' here /usr/include/wchar.h:736: error: '__FILE' has not been declared /usr/include/wchar.h:736: error: declaration of C function 'wint_t ungetwc(wint_t, int*)' conflicts with /usr/include/wine/msvcrt/stdio.h:225: error: previous declaration 'wint_t ungetwc(wint_t, FILE*)' here /usr/include/wchar.h:748: error: '__FILE' was not declared in this scope /usr/include/wchar.h:748: error: '__stream' was not declared in this scope /usr/include/wchar.h:757: error: '__FILE' was not declared in this scope /usr/include/wchar.h:757: error: '__stream' was not declared in this scope /usr/include/wchar.h:765: error: '__FILE' has not been declared /usr/include/wchar.h:774: error: '__FILE' has not been declared /usr/include/wchar.h:785: error: '__FILE' has not been declared /usr/include/wchar.h:794: error: '__FILE' has not been declared In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:50, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/char_traits.h:48, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/string:47, from BaseGameEntity.h:12, from BaseGameEntity.cpp:1: /usr/include/stdio.h:49: error: conflicting declaration 'typedef struct _IO_FILE FILE' /usr/include/wine/msvcrt/stdio.h:84: error: 'FILE' has a previous declaration as 'typedef struct _iobuf FILE' In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/char_traits.h:48, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/string:47, from BaseGameEntity.h:12, from BaseGameEntity.cpp:1: /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:170: error: '::snprintf' has not been declared /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:171: error: '::vfscanf' has not been declared /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:172: error: '::vscanf' has not been declared /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:174: error: '::vsscanf' has not been declared /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:181: error: '__gnu_cxx::snprintf' has not been declared /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:182: error: '__gnu_cxx::vfscanf' has not been declared /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:183: error: '__gnu_cxx::vscanf' has not been declared /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:185: error: '__gnu_cxx::vsscanf' has not been declared In file included from /usr/include/_G_config.h:20, from /usr/include/libio.h:32, from /usr/include/stdio.h:75, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:50, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/ios_base.h:49, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ios:48, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ostream:45, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/iostream:45, from /home/rino/Download/Buckland_AISource_070308/EclipseProjects/Common/Messaging/Telegram.h:14, from BaseGameEntity.h:14, from BaseGameEntity.cpp:1: /usr/include/wine/msvcrt/wchar.h:62: error: conflicting declaration 'typedef int mbstate_t' /usr/include/wchar.h:101: error: 'mbstate_t' has a previous declaration as 'typedef struct __mbstate_t mbstate_t' /usr/include/wine/msvcrt/wchar.h:412: error: declaration of C function 'wchar_t* wcstok(wchar_t*, const wchar_t*)' conflicts with /usr/include/wchar.h:246: error: previous declaration 'wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**)' here /usr/include/wine/msvcrt/wchar.h:425: error: declaration of C function 'wchar_t btowc(int)' conflicts with /usr/include/wchar.h:300: error: previous declaration 'wint_t btowc(int)' here In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:50, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/ios_base.h:49, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ios:48, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ostream:45, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/iostream:45, from /home/rino/Download/Buckland_AISource_070308/EclipseProjects/Common/Messaging/Telegram.h:14, from BaseGameEntity.h:14, from BaseGameEntity.cpp:1: /usr/include/stdio.h:91: error: conflicting declaration 'typedef struct _G_fpos_t fpos_t' /usr/include/wine/msvcrt/stdio.h:88: error: 'fpos_t' has a previous declaration as 'typedef long long int fpos_t' In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:50, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/ios_base.h:49, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ios:48, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ostream:45, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/iostream:45, from /home/rino/Download/Buckland_AISource_070308/EclipseProjects/Common/Messaging/Telegram.h:14, from BaseGameEntity.h:14, from BaseGameEntity.cpp:1: /usr/include/stdio.h:145: error: expected `)' before '+' token /usr/include/stdio.h:145: error: expected initializer before '+' token /usr/include/stdio.h:146: error: expected `)' before '+' token /usr/include/stdio.h:146: error: expected initializer before '+' token /usr/include/stdio.h:147: error: expected `)' before '+' token /usr/include/stdio.h:147: error: expected initializer before '+' token /usr/include/wine/msvcrt/stdio.h:246: error: previous declaration of 'char* tempnam(const char*, const char*)' with 'C++' linkage /usr/include/stdio.h:207: error: conflicts with new declaration with 'C' linkage /usr/include/wine/msvcrt/stdio.h:240: error: previous declaration of 'FILE* fdopen(int, const char*)' with 'C++' linkage /usr/include/stdio.h:285: error: conflicts with new declaration with 'C' linkage /usr/include/wine/msvcrt/stdio.h:251: error: previous declaration of 'int vsnprintf(char*, size_t, const char*, char*)' with 'C++' linkage /usr/include/stdio.h:369: error: conflicts with new declaration with 'C' linkage /usr/include/wine/msvcrt/stdio.h:255: error: previous declaration of 'int getw(FILE*)' with 'C++' linkage /usr/include/stdio.h:590: error: conflicts with new declaration with 'C' linkage /usr/include/wine/msvcrt/stdio.h:256: error: previous declaration of 'int putw(int, FILE*)' with 'C++' linkage /usr/include/stdio.h:593: error: conflicts with new declaration with 'C' linkage /usr/include/stdio.h:774: error: declaration of C function 'int fsetpos(FILE*, const fpos_t*)' conflicts with /usr/include/wine/msvcrt/stdio.h:166: error: previous declaration 'int fsetpos(FILE*, fpos_t*)' here In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cstdio:50, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/ios_base.h:49, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ios:48, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ostream:45, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/iostream:45, from /home/rino/Download/Buckland_AISource_070308/EclipseProjects/Common/Messaging/Telegram.h:14, from BaseGameEntity.h:14, from BaseGameEntity.cpp:1: /usr/include/wine/msvcrt/stdio.h:242: error: previous declaration of 'int fileno(FILE*)' with 'C++' linkage /usr/include/stdio.h:829: error: conflicts with new declaration with 'C' linkage /usr/include/wine/msvcrt/stdio.h:245: error: previous declaration of 'FILE* popen(const char*, const char*)' with 'C++' linkage /usr/include/stdio.h:844: error: conflicts with new declaration with 'C' linkage /usr/include/wine/msvcrt/stdio.h:244: error: previous declaration of 'int pclose(FILE*)' with 'C++' linkage /usr/include/stdio.h:850: error: conflicts with new declaration with 'C' linkage In file included from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/cwctype:51, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/locale_facets.h:46, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/bits/basic_ios.h:44, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ios:50, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/ostream:45, from /usr/lib/gcc/i386-redhat-linux/4.3.0/../../../../include/c++/4.3.0/iostream:45, from /home/rino/Download/Buckland_AISource_070308/EclipseProjects/Common/Messaging/Telegram.h:14, from BaseGameEntity.h:14, from BaseGameEntity.cpp:1: /usr/include/wctype.h:53: error: conflicting declaration 'typedef long unsigned int wctype_t' /usr/include/wine/msvcrt/stdio.h:110: error: 'wctype_t' has a previous declaration as 'typedef short unsigned int wctype_t' /usr/include/wctype.h:195: error: declaration of C function 'wint_t towlower(wint_t)' conflicts with /usr/include/wine/msvcrt/wchar.h:255: error: previous declaration 'wchar_t towlower(wchar_t)' here /usr/include/wctype.h:198: error: declaration of C function 'wint_t towupper(wint_t)' conflicts with /usr/include/wine/msvcrt/wchar.h:256: error: previous declaration 'wchar_t towupper(wchar_t)' here winegcc: g++ failed make: *** [BaseGameEntity.o] Error 2