Views: 84,114 Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 09-25-17 03:57 AM
Guest:

0 users reading Compilation issues | 1 bot

Main - General - Compilation issues New reply


MeaningOfLifeIs42
Posted on 09-01-17 10:58 AM Link | #323
Hello! I'm trying to compile melonDS using msys2 mingw (http://melonds.kuribo64.net/board/thread.php?id=12), but the .exe crashes with the fatal error "Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t, compiler with C++ ABI 1010,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t, compiler with C++ ABI 1011,wx containers,compatible with 2.8)" I get the same issue using the same mingw with code blocks, so I'm guessing something is wrong with my build of mingw. Any idea how I can fix this?

Nadia
Posted on 09-01-17 11:01 AM Link | #324
From where did you install wxWidgets?

MeaningOfLifeIs42
Posted on 09-01-17 11:04 AM Link | #325
I installed it with "pacman -Su --noconfirm mingw-w64-x86_64-{toolchain,SDL2,wxWidgets} git" like your post in http://melonds.kuribo64.net/board/thread.php?id=12 said to.

Nadia
Posted on 09-01-17 11:08 AM (rev. 2 of 09-01-17 11:09 AM) Link | #326
What did you do from there? That command I posted to build it probably won't work anymore.

Replace the CMakeLists.txt file with this one: https://gist.github.com/Nadia-h/013b877539d50f9485a84a948d4d0e01 (and add any potentially missing files to the list, don't know if it's up-to-date there)

Install CMake and make:
pacman -S mingw-w64-x86_64-cmake make

Then do
mkdir build
cmake .. -DCMAKE_BUILD_TYPE=Release -G "MSYS Makefiles"
make -j5

And hopefully it should work.

MeaningOfLifeIs42
Posted on 09-01-17 11:21 AM Link | #327
Closer, but now it's asking for the dll wxmsw30u_core_gcc_custom.dll which I don't have anywhere.

Nadia
Posted on 09-01-17 11:22 AM Link | #328
You must run melonDS from the terminal and not through a file manager or some other place, otherwise you'll have to copy the DLLs with it because Windows won't know where to find them.

MeaningOfLifeIs42
Posted on 09-01-17 11:25 AM Link | #329
And now it 's the same exact error as before. "Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t, compiler with C++ ABI 1010,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t, compiler with C++ ABI 1011,wx containers,compatible with 2.8)"

Nadia
Posted on 09-01-17 11:27 AM Link | #330
Maybe try a pacman -Syu and rebuilding.

MeaningOfLifeIs42
Posted on 09-01-17 11:31 AM (rev. 2 of 09-01-17 12:05 PM) Link | #331
No updates were available, but I rebuilt anyway. No changes.


Ok, I found out how to fix it. It's really hackish, causes a whole bunch of compilation warnings to pop up, but it works for me. All I had to do was add "#define __GXX_ABI_VERSION 1010" to NDS.h. If I had to guess, it's probably an issue with msys2 or wxWdigets, so hopefully it will get sorted out soon enough. Thank you for your help!

StapleButter
Posted on 09-01-17 12:07 PM Link | #332
the error is brought to you by wxWidgets retardedness.


wxWidgets is getting ditched.

Anonymous
Posted on 09-04-17 01:39 PM Link | #333
Adding '-fabi-version=10' to the g++ command is what I did to work around this issue.

My full build command after installing MSYS2 per Nadia's post here:
g++ -O3 src/*.cpp src/wx/*.cpp -static -static-libgcc -static-libstdc++ $(pkg-config --static --cflags --libs sdl2) $(wx-config-static --cflags --libs core,base) -Isrc -Isrc/wx -I/mingw64/include/wx-3.0 -I/mingw64/lib/wx/include/msw-unicode-3.0/ -fabi-version=10 -s -o melonDS.exe


Main - General - Compilation issues New reply

Page rendered in 0.035 seconds. (2048KB of memory used)
MySQL - queries: 27, rows: 94/94, time: 0.021 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2015-10-07)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.