VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've upgraded the MinGW tools to their latest revisions, but now when trying to compile the SDL2 2.0.5 package (with the instructions for myself and others I've left at https://bitbucket.org/superfury/unipcemu/src/ … 2.txt?at=master ) it compiles without problems.

When I try to run it using 32-bit MinGW(64-bit doesn't have this problem) it now keeps complaining about a missing libgcc_s_dw2-1.dll, which is linked for it's
__divdi3
__udivdi3
__umoddi3

functions as far as I can see using Dependency Walker?

Last edited by superfury on 2016-11-29, 13:02. Edited 1 time in total.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

Is it possible to revert the GCC version used when installing MinGW on Windows to the older 4.X version? If so, how?

Edit: I've reinstalled the '32-bit MinGW'(Actually MinGW-w64, after which I configure and compile/install SDL2 in 32-bit mode) compiler by removing the installation folder and copying the contents of i686-6.2.0-release-win32-dwarf-rt_v5-rev1.7z into the folder, performing a manual installation(the automatic installer refuses to work).

Edit: Just tried recompiling SDL2 under MinGW-w64, using the 32-bit compiler. It also creates the dependancy on LIBGCC_S_DW2-1.DLL. Is there any way to remove this dependancy in the 32-bit SDL2.dll?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 2 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've just tried recompiling the SDL2 2.0.3(The one previously used with my application) under the given MinGW 32-bit version. It fails compiling the D3D renderer with lots of errors in those files. It seems that my MinGW-w64 in 32-bit mode is simply broken? So now I have no way anymore to reliably compile my applications for 32-bit Windows(64-bit Windows can be compiled without problems), due to the broken 32-bit SDL compilation and requirements.

Since the SDL2 2.0.3 fails compiling as well, does this mean the entire MinGW 32-bit compiler is utterly broken? After reinstalling I can no longer compile UniPCemu in 32-bit mode, due to problems with the required DLL files, while the originally-used SDL2 2.0.3 source code refuses to compile.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 3 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

I just tried recompiling SDL2-2.0.5 on MinGW-w64 as a 32-bit DLL.

./configure --prefix=/mingw

Next, I edited Makefile to statically link the libraries required.

CFLAGS  = -g -O3 -DUSING_GENERATED_CONFIG_H -enable-core-inline -static-libgcc -static-libstdc++

Then I ran:
make
make install
Finally I opened the generated SDL2.DLL with Dependency Walker:

libgcc still included in sdl2 dll linkage.jpg

Anyone can see what's going wrong here?`

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io