Comments (14)
I have the package libsdl2-image-dev
installed too. to let MAKE know where to find the libs I modified the Makefile:
CXXFLAGS=-fpermissive -Wno-write-strings `pkg-config --cflags sdl2 SDL2_image`
to deal with the missing "iconv.h" error I installed the package libc6-dev
and added the path to it manually:
CXXFLAGS=-fpermissive -Wno-write-strings `pkg-config --cflags sdl2 SDL2_image` -I/usr/include
With this I get the following error:
i686-w64-mingw32-g++ -fpermissive -Wno-write-strings `pkg-config --cflags sdl2 SDL2_image` -I/usr/include -MMD -MF Source/mainmenu.d -c -o Source/mainmenu.o Source/mainmenu.cpp
Source/mainmenu.cpp:93:16: warning: multi-character character constant [-Wmultichar]
if ( mode == 'BNET' )
^
In file included from /usr/include/sys/select.h:45:0,
from /usr/include/sys/types.h:219,
from /usr/include/stdlib.h:314,
from /usr/share/mingw-w64/include/combaseapi.h:129,
from /usr/share/mingw-w64/include/objbase.h:14,
from /usr/share/mingw-w64/include/ole2.h:17,
from /usr/share/mingw-w64/include/wtypes.h:12,
from /usr/share/mingw-w64/include/winscard.h:10,
from /usr/share/mingw-w64/include/windows.h:97,
from Source/../types.h:8,
from Source/mainmenu.cpp:3:
/usr/include/bits/time.h:30:8: error: redefinition of ‘struct timeval’
struct timeval
^
In file included from /usr/share/mingw-w64/include/winsock.h:32:0,
from /usr/share/mingw-w64/include/windows.h:92,
from Source/../types.h:8,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/_timeval.h:10:8: error: previous definition of ‘struct timeval’
struct timeval
^
In file included from /usr/include/sys/types.h:219:0,
from /usr/include/stdlib.h:314,
from /usr/share/mingw-w64/include/combaseapi.h:129,
from /usr/share/mingw-w64/include/objbase.h:14,
from /usr/share/mingw-w64/include/ole2.h:17,
from /usr/share/mingw-w64/include/wtypes.h:12,
from /usr/share/mingw-w64/include/winscard.h:10,
from /usr/share/mingw-w64/include/windows.h:97,
from Source/../types.h:8,
from Source/mainmenu.cpp:3:
/usr/include/sys/select.h:75:5: error: conflicting declaration ‘typedef struct fd_set fd_set’
} fd_set;
^
In file included from /usr/share/mingw-w64/include/winsock.h:36:0,
from /usr/share/mingw-w64/include/windows.h:92,
from Source/../types.h:8,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/psdk_inc/_fd_types.h:25:3: note: previous declaration as ‘typedef struct fd_set fd_set’
} fd_set;
^
In file included from Source/../types.h:13:0,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/io.h:201:43: error: declaration of ‘int remove(const char*)’ has a different exception specifier
int __cdecl remove(const char *_Filename);
^
In file included from Source/../types.h:10:0,
from Source/mainmenu.cpp:3:
/usr/include/stdio.h:178:12: error: from previous declaration ‘int remove(const char*) throw ()’
extern int remove (const char *__filename) __THROW;
^
In file included from Source/../types.h:13:0,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/io.h:202:71: error: declaration of ‘int rename(const char*, const char*)’ has a different exception specifier
int __cdecl rename(const char *_OldFilename,const char *_NewFilename);
^
In file included from Source/../types.h:10:0,
from Source/mainmenu.cpp:3:
/usr/include/stdio.h:180:12: error: from previous declaration ‘int rename(const char*, const char*) throw ()’
extern int rename (const char *__old, const char *__new) __THROW;
^
In file included from /usr/include/SDL2/SDL_cpuinfo.h:44:0,
from /usr/include/SDL2/SDL.h:38,
from /usr/include/SDL2/SDL_image.h:27,
from Source/../types.h:20,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/intrin.h:522:5: error: conflicting declaration of C function ‘int _setjmp(__jmp_buf_tag*, void*)’
__MACHINE(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf,void *))
^
In file included from /usr/share/mingw-w64/include/intrin.h:38:0,
from /usr/include/SDL2/SDL_cpuinfo.h:44,
from /usr/include/SDL2/SDL.h:38,
from /usr/include/SDL2/SDL_image.h:27,
from Source/../types.h:20,
from Source/mainmenu.cpp:3:
/usr/include/setjmp.h:63:12: note: previous declaration ‘int _setjmp(__jmp_buf_tag*)’
extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL;
^
Source/mainmenu.cpp: In function ‘int mainmenu_select_hero_dialog(int, int, int, int, int, char*, int, char*, int, int*)’:
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(void (__attribute__((__stdcall__)) *)(_uiheroinfo*))’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 1 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 2 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 3 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(int, _uidefaultstats*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 4 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(void (__attribute__((__stdcall__)) *)(_uiheroinfo*))’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 1 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 2 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 3 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(int, _uidefaultstats*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 4 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
<builtin>: recipe for target 'Source/mainmenu.o' failed
make: *** [Source/mainmenu.o] Error 1
which seems to be a known error:
https://stackoverflow.com/questions/43255796/redefinition-of-struct-timeval-in-several-headers
adding -D_POSIX_C_SOURCE=200809L
(or any date > 2001) to CXXFLAGS
leads to the following errors
i686-w64-mingw32-g++ -fpermissive -Wno-write-strings `pkg-config --cflags sdl2 SDL2_image` -I/usr/include -D_POSIX_C_SOURCE=200809L -MMD -MF Source/mainmenu.d -c -o Source/mainmenu.o Source/mainmenu.cpp
Source/mainmenu.cpp:93:16: warning: multi-character character constant [-Wmultichar]
if ( mode == 'BNET' )
^
In file included from Source/../types.h:13:0,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/io.h:201:43: error: declaration of ‘int remove(const char*)’ has a different exception specifier
int __cdecl remove(const char *_Filename);
^
In file included from Source/../types.h:10:0,
from Source/mainmenu.cpp:3:
/usr/include/stdio.h:178:12: error: from previous declaration ‘int remove(const char*) throw ()’
extern int remove (const char *__filename) __THROW;
^
In file included from Source/../types.h:13:0,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/io.h:202:71: error: declaration of ‘int rename(const char*, const char*)’ has a different exception specifier
int __cdecl rename(const char *_OldFilename,const char *_NewFilename);
^
In file included from Source/../types.h:10:0,
from Source/mainmenu.cpp:3:
/usr/include/stdio.h:180:12: error: from previous declaration ‘int rename(const char*, const char*) throw ()’
extern int rename (const char *__old, const char *__new) __THROW;
^
In file included from /usr/include/SDL2/SDL_cpuinfo.h:44:0,
from /usr/include/SDL2/SDL.h:38,
from /usr/include/SDL2/SDL_image.h:27,
from Source/../types.h:20,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/intrin.h:522:5: error: conflicting declaration of C function ‘int _setjmp(__jmp_buf_tag*, void*)’
__MACHINE(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf,void *))
^
In file included from /usr/share/mingw-w64/include/intrin.h:38:0,
from /usr/include/SDL2/SDL_cpuinfo.h:44,
from /usr/include/SDL2/SDL.h:38,
from /usr/include/SDL2/SDL_image.h:27,
from Source/../types.h:20,
from Source/mainmenu.cpp:3:
/usr/include/setjmp.h:63:12: note: previous declaration ‘int _setjmp(__jmp_buf_tag*)’
extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL;
^
Source/mainmenu.cpp: In function ‘int mainmenu_select_hero_dialog(int, int, int, int, int, char*, int, char*, int, int*)’:
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(void (__attribute__((__stdcall__)) *)(_uiheroinfo*))’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 1 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 2 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 3 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(int, _uidefaultstats*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 4 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(void (__attribute__((__stdcall__)) *)(_uiheroinfo*))’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 1 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 2 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 3 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(int, _uidefaultstats*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 4 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
<builtin>: recipe for target 'Source/mainmenu.o' failed
make: *** [Source/mainmenu.o] Error 1
setting -D_POSIX_C_SOURCE
to a date <= 2001 leads to the following errors
i686-w64-mingw32-g++ -fpermissive -Wno-write-strings `pkg-config --cflags sdl2 SDL2_image` -I/usr/include -D_POSIX_C_SOURCE=200109L -MMD -MF Source/mainmenu.d -c -o Source/mainmenu.o Source/mainmenu.cpp
Source/mainmenu.cpp:93:16: warning: multi-character character constant [-Wmultichar]
if ( mode == 'BNET' )
^
In file included from /usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/bits/postypes.h:40:0,
from /usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/bits/char_traits.h:40,
from /usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/string:40,
from Source/../types.h:9,
from Source/mainmenu.cpp:3:
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:146:11: error: ‘::fwide’ has not been declared
using ::fwide;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:147:11: error: ‘::fwprintf’ has not been declared
using ::fwprintf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:148:11: error: ‘::fwscanf’ has not been declared
using ::fwscanf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:158:11: error: ‘::swprintf’ has not been declared
using ::swprintf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:160:11: error: ‘::swscanf’ has not been declared
using ::swscanf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:162:11: error: ‘::vfwprintf’ has not been declared
using ::vfwprintf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:164:11: error: ‘::vfwscanf’ has not been declared
using ::vfwscanf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:167:11: error: ‘::vswprintf’ has not been declared
using ::vswprintf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:170:11: error: ‘::vswscanf’ has not been declared
using ::vswscanf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:172:11: error: ‘::vwprintf’ has not been declared
using ::vwprintf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:174:11: error: ‘::vwscanf’ has not been declared
using ::vwscanf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:191:11: error: ‘::wcstof’ has not been declared
using ::wcstof;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:202:11: error: ‘::wprintf’ has not been declared
using ::wprintf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:203:11: error: ‘::wscanf’ has not been declared
using ::wscanf;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:248:11: error: ‘::wcstold’ has not been declared
using ::wcstold;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:257:11: error: ‘::wcstoll’ has not been declared
using ::wcstoll;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:258:11: error: ‘::wcstoull’ has not been declared
using ::wcstoull;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:264:22: error: ‘__gnu_cxx::wcstold’ has not been declared
using ::__gnu_cxx::wcstold;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:265:22: error: ‘__gnu_cxx::wcstoll’ has not been declared
using ::__gnu_cxx::wcstoll;
^
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/include/c++/cwchar:266:22: error: ‘__gnu_cxx::wcstoull’ has not been declared
using ::__gnu_cxx::wcstoull;
^
In file included from Source/../types.h:13:0,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/io.h:201:43: error: declaration of ‘int remove(const char*)’ has a different exception specifier
int __cdecl remove(const char *_Filename);
^
In file included from Source/../types.h:10:0,
from Source/mainmenu.cpp:3:
/usr/include/stdio.h:178:12: error: from previous declaration ‘int remove(const char*) throw ()’
extern int remove (const char *__filename) __THROW;
^
In file included from Source/../types.h:13:0,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/io.h:202:71: error: declaration of ‘int rename(const char*, const char*)’ has a different exception specifier
int __cdecl rename(const char *_OldFilename,const char *_NewFilename);
^
In file included from Source/../types.h:10:0,
from Source/mainmenu.cpp:3:
/usr/include/stdio.h:180:12: error: from previous declaration ‘int rename(const char*, const char*) throw ()’
extern int rename (const char *__old, const char *__new) __THROW;
^
In file included from /usr/include/SDL2/SDL_cpuinfo.h:44:0,
from /usr/include/SDL2/SDL.h:38,
from /usr/include/SDL2/SDL_image.h:27,
from Source/../types.h:20,
from Source/mainmenu.cpp:3:
/usr/share/mingw-w64/include/intrin.h:522:5: error: conflicting declaration of C function ‘int _setjmp(__jmp_buf_tag*, void*)’
__MACHINE(int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf,void *))
^
In file included from /usr/share/mingw-w64/include/intrin.h:38:0,
from /usr/include/SDL2/SDL_cpuinfo.h:44,
from /usr/include/SDL2/SDL.h:38,
from /usr/include/SDL2/SDL_image.h:27,
from Source/../types.h:20,
from Source/mainmenu.cpp:3:
/usr/include/setjmp.h:63:12: note: previous declaration ‘int _setjmp(__jmp_buf_tag*)’
extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL;
^
Source/mainmenu.cpp: In function ‘int mainmenu_select_hero_dialog(int, int, int, int, int, char*, int, char*, int, int*)’:
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(void (__attribute__((__stdcall__)) *)(_uiheroinfo*))’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 1 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 2 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 3 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:64:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(int, _uidefaultstats*)’ to ‘void*’ [-fpermissive]
&gnDifficulty) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:23:15: note: initializing argument 4 of ‘int UiSelHeroSingDialog(void*, void*, void*, void*, int*, char*, int*)’
int __stdcall UiSelHeroSingDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, char *name, int *difficulty); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(void (__attribute__((__stdcall__)) *)(_uiheroinfo*))’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 1 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 2 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(_uiheroinfo*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 3 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
Source/mainmenu.cpp:80:20: warning: invalid conversion from ‘bool (__attribute__((__stdcall__)) *)(int, _uidefaultstats*)’ to ‘void*’ [-fpermissive]
chr_name_str) )
^
In file included from Source/../types.h:51:0,
from Source/mainmenu.cpp:3:
Source/../DiabloUI/diabloui.h:22:15: note: initializing argument 4 of ‘int UiSelHeroMultDialog(void*, void*, void*, void*, int*, int*, char*)’
int __stdcall UiSelHeroMultDialog(void *fninfo, void *fncreate, void *fnremove, void *fnstats, int *a5, int *a6, char *name); // { return 0; }
^
<builtin>: recipe for target 'Source/mainmenu.o' failed
make: *** [Source/mainmenu.o] Error 1
from devilutionx.
Run the MAC equivalent of:
apt-get install SDL_image
Then the Makefile probably has to be updated with pkg-config --cflags SDL_image
and pkg-config --libs SDL_image
@ApertureSecurity would you take a look? :)
from devilutionx.
Good day , Yes I can take a look.I will try today to look, but It might be on Monday.
from devilutionx.
I guess the appropriate package should be: sudo apt install libsdl2-image-dev
(or are we using sdl 1. than it should be libsdl-image1.2-dev)
I had some problem with unmet dependencies but could resolve them in the end.
I'm looking forward for you Makefile update :)
from devilutionx.
I guess the appropriate package should be: sudo apt install libsdl2-image-dev (or are we using sdl 1. than it should be libsdl-image1.2-dev)
Should be SDL2 as far as I know.
from devilutionx.
By adding the parameter pkg-config --cflags sdl2 SDL2_image
to CXXFLAGS in Makefile I successfully (I hope that's correct. I have no clue what I'm doing :D) linked the SDL_image but receive another error message which I couldn't get rid of yet:
make
i686-w64-mingw32-g++ -fpermissive -Wno-write-strings `pkg-config --cflags sdl2 SDL2_image` -MMD -MF Source/mainmenu.d -c -o Source/mainmenu.o Source/mainmenu.cpp
In file included from /usr/include/SDL2/SDL_main.h:25:0,
from /usr/include/SDL2/SDL.h:32,
from /usr/include/SDL2/SDL_image.h:27,
from Source/../types.h:20,
from Source/mainmenu.cpp:3:
/usr/include/SDL2/SDL_stdinc.h:87:20: fatal error: iconv.h: No such file or directory
compilation terminated.
<builtin>: recipe for target 'Source/mainmenu.o' failed
make: *** [Source/mainmenu.o] Error 1
The missing header in question is included in the package libc6-dev
which I have installed correctly:
dpkg -S /usr/include/iconv.h
libc6-dev:amd64: /usr/include/iconv.h
sudo find / -name "iconv.h"
/usr/include/iconv.h
from devilutionx.
Sorry I have been busy with work...
looking at this now. I have the SDL libs installed on my linux machine
from devilutionx.
Oh I have a demo project working...
I had to install the libs.
sudo apt install libsdl2-image-dev
sudo apt install libsdl2-image-dev
I took code from here
http://lazyfoo.net/tutorials/SDL/42_texture_streaming/index.php
g++ foo.cpp -w -lSDL2main -lSDL2 -l SDL2_image -o 01_hello_SDL
To be honest, I haven't been able to compile using ming32 at all . I just used visual studio.
the problem is that i686-w64-mingw32-g++ doesn't know where your headers and stuff are.
from devilutionx.
well, this is remarkably nasty...
from devilutionx.
Ok There is a docker container that was made for this . It might need some SDL stuff added.
from devilutionx.
you mean the riivaaja docker?
The output looks like this:
C:\Games\Devilution\devilutionX>docker run -v C:\Games\Devilution\devilutionX:/root/devilution -e MAKE_BUILD=pdb diasurgical/riivaaja
wine /root/VS6/VC98/Bin/CL.EXE /nologo /c /GX /W3 /O1 /I /root/VS6/VC98/Include /FD /MT /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fp"Diablo.pch" /YX /Gm /Zi /FoSource/ Source/SDL_FontCache.cpp Source/appfat.cpp Source/automap.cpp Source/capture.cpp Source/codec.cpp Source/control.cpp Source/cursor.cpp Source/dead.cpp Source/debug.cpp Source/diablo.cpp Source/doom.cpp Source/drlg_l1.cpp Source/drlg_l2.cpp Source/drlg_l3.cpp Source/drlg_l4.cpp Source/dthread.cpp Source/dx.cpp Source/effects.cpp Source/encrypt.cpp Source/engine.cpp Source/error.cpp Source/fault.cpp Source/gamemenu.cpp Source/gendung.cpp Source/gmenu.cpp Source/help.cpp Source/init.cpp Source/interfac.cpp Source/inv.cpp Source/items.cpp Source/lighting.cpp Source/loadsave.cpp Source/logging.cpp Source/mainmenu.cpp Source/minitext.cpp Source/missiles.cpp Source/monster.cpp Source/movie.cpp Source/mpqapi.cpp Source/msg.cpp Source/msgcmd.cpp Source/multi.cpp Source/nthread.cpp Source/objects.cpp Source/pack.cpp Source/palette.cpp Source/path.cpp Source/pfile.cpp Source/player.cpp Source/plrmsg.cpp Source/portal.cpp Source/quests.cpp Source/restrict.cpp Source/scrollrt.cpp Source/sdlrender.cpp Source/setmaps.cpp Source/sha.cpp Source/sound.cpp Source/spells.cpp Source/stores.cpp Source/sync.cpp Source/textdat.cpp Source/themes.cpp Source/tmsg.cpp Source/town.cpp Source/towners.cpp Source/track.cpp Source/trigs.cpp Source/wave.cpp Source/render.cpp
wine: created the configuration directory '/root/.wine'
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80040155
err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80040155
err:ole:get_local_server_stream Failed: 80040155
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:module:import_dll Loading library urlmon.dll (which is needed by L"C:\\windows\\system32\\mshtml.dll") failed (error c000007b).
wine: configuration in '/root/.wine' has been updated.
SDL_FontCache.cpp
Source/SDL_FontCache.cpp(8) : fatal error C1083: Cannot open include file: 'SDL_FontCache.h': No such file or directory
appfat.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
automap.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
capture.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
codec.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
control.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
cursor.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
dead.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
debug.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
diablo.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
doom.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
drlg_l1.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
drlg_l2.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
drlg_l3.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
drlg_l4.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
dthread.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
dx.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
effects.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
encrypt.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
engine.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
error.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
fault.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
gamemenu.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
gendung.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
gmenu.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
help.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
init.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
interfac.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
inv.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
items.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
lighting.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
loadsave.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
logging.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
mainmenu.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
minitext.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
missiles.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
monster.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
movie.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
mpqapi.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
msg.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
msgcmd.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
multi.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
nthread.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
objects.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
pack.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
palette.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
path.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
pfile.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
player.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
plrmsg.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
portal.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
quests.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
restrict.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
scrollrt.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
sdlrender.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
setmaps.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
sha.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
sound.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
spells.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
stores.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
sync.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
textdat.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
themes.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
tmsg.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
town.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
towners.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
track.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
trigs.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
wave.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
render.cpp
Source/../types.h(9) : fatal error C1083: Cannot open include file: 'string': No such file or directory
make: *** [main_files] Error 2
MakefileVC:73: recipe for target 'main_files' failed
from devilutionx.
This is due to trying to use Linux SDL (and system) headers while compiling with mingw, which can not work (same way you can't use Linux headers on Windows...).
This needs a mingw cross-compiled version of SDL to work, using either distribution packages or eg. https://mxe.cc/
from devilutionx.
I will have a push soon that should be better than what we have now here.
from devilutionx.
Building XDiablo (For Linux)
Install the following libs on your machine.
apt-get install g++-multilib libc6-dev-i386
apt-get install libsdl2-dev:i386
apt-get install libsdl2-ttf-dev:i386
apt-get install libsdl2-image-dev:i386
apt-get install libsdl2-mixer-dev:i386
apt-get install cmake
Edit File that is linking all the LIBS for CMAKE. For me it was located in... /usr/lib/i386-linux-gnu/cmake/SDL2/sdl2-config.cmake
The last line will have something like... set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} -lSDL2 Change it to ... set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} -lSDL2 -lSDL2_image -lSDL2_mixer -lSDL2_ttf ")
Copy the "diablodat.mpq" from your Diablo CD to the Diablo Directory and make sure it is LOWERCASE. Copy the Xresources and fonts file to your Diablo Directory.
There is a cmake config there so a simple
mkdir build ; cd build ; cmake .. ; make
should suffice.
from devilutionx.
Related Issues (20)
- [Issue Report]: Bug hole in textures (Hellfire) HOT 1
- [Feature Request]: Stash objects “center of gravity”
- [Issue Report]: New entrances/exits to the Labyrinth open in the city before they are discovered HOT 1
- [Feature Request]: Editing the interface on touch devices HOT 8
- [Issue Report]: Small errors in the operation of the map [1.6.0-dev-debug] HOT 3
- [Issue Report]: Lazarus starting sequence issues HOT 16
- [Issue Report]: Inventory problems HOT 1
- [Issue Report]: Inventory bug [1.6.0-dev] HOT 2
- [Issue Report]: Changing Item Parameters [1.6.0-dev] HOT 3
- [Issue Report]: Full screen option on Nintendo Switch HOT 5
- [Feature Request]: Shrine effect suggestion HOT 1
- [Issue Report]: Vipers / Drakes sometimes missing their lunge and slamming into walls or disappearing into the distance HOT 11
- [Issue Report]: Google Android TV - unable to acess data folder, nothing helps HOT 4
- [Feature Request]: Several proposals for innovations HOT 2
- [Issue Report]: Enabling Integer Scaling would yield lua\user.lua error HOT 5
- [Issue Report]: game crash with SDL_audiolib segfault HOT 5
- [Issue Report]: Broken enemy movement HOT 3
- Shared XP and gold for multiplayer. HOT 2
- [Issue Report]: Char Level And XP info in Panel repeats HOT 1
- [Issue Report]: Devilution crashes and closes silently when trying to load a Diablo 1 save into Hellfire HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from devilutionx.