First post, by Malice
I'm compiling with MinGW-w64 and the MSYS environment. I used the following configure options:
./configure --disable-dynamic-x86 --disable-fpu-x86 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32
The only thing i can't figure out is the error in cdrom_aspi_win32.cpp.
In file included from core_dynrec.cpp:136:core_dynrec/cache.h: In function 'void cache_init(bool)':core_dynrec/cache.h:599: error: cast from 'Bit8u*' to 'long int' loses precisionmake[4]: *** [core_dynrec.o] Error 1
Changing "long int" to "long long int" fixes this.
cdrom_aspi_win32.cpp: In member function 'void CDROM_Interface_Aspi::GetIOCTLAdapter(void*, int*, int*, int*)':cdrom_aspi_win32.cpp:381: error: 'FILE_DEVICE_CONTROLLER' was not declared in this scopecdrom_aspi_win32.cpp:381: error: 'METHOD_BUFFERED' was not declared in this scopecdrom_aspi_win32.cpp:381: error: 'FILE_ANY_ACCESS' was not declared in this scopecdrom_aspi_win32.cpp:381: error: 'CTL_CODE' was not declared in this scopemake[3]: *** [cdrom_aspi_win32.o] Error 1
I don't know how to properly fix this error. I commented out the code to get passed the error.
In file included from midi.cpp:87:midi_win32.h: In member function 'virtual bool MidiHandler_win32::Open(const char*)':midi_win32.h:51: error: cast from 'void*' to 'DWORD' loses precisionmidi_win32.h:54: error: cast from 'void*' to 'DWORD' loses precisionmake[3]: *** [midi.o] Error 1
Changing "DWORD" to "long long" fixes this.
In file included from cross.cpp:31:c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shlobj.h:14:2: error: #error _WIN32_IE setting conflictsIn file included from c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shlobj.h:85,from cross.cpp:31:c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/commctrl.h:14:2: error: #error _WIN32_IE setting conflictsIn file included from c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shlobj.h:88,from cross.cpp:31:c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shlguid.h:13:2: error: #error _WIN32_IE setting conflictsIn file included from c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shlobj.h:98,from cross.cpp:31:c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shobjidl.h:1750: error: 'SHCOLUMNID' has not been declaredc:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shobjidl.h:1751: error: 'SHCOLUMNID' has not been declaredc:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shobjidl.h:1752: error: 'SHCOLUMNID' has not been declaredc:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shobjidl.h:1786: error: 'SHCOLUMNID' has not been declaredc:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shobjidl.h:1788: error: 'SHCOLUMNID' has not been declaredc:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shobjidl.h:1790: error: 'SHCOLUMNID' has not been declaredIn file included from cross.cpp:31:c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shlobj.h:1672: error: 'SHCOLUMNID' does not name a typeIn file included from cross.cpp:31:c:/mingw/lib/gcc/../../x86_64-w64-mingw32/include/shlobj.h:1715: error: 'LPCSHCOLUMNID' has not been declaredmake[3]: *** [cross.o] Error 1
Changing _WIN32_IE version from "4.00" to "5.02" fixes this.
I have a test build if anyone wants to try it.