Views: 23,636,186 | Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search | 01-17-25 06:05 PM |
Guest: |
0 users reading Compilation issues | 1 bot |
Main - General - Compilation issues | Hide post layouts | New reply |
MeaningOfLifeIs42 |
| ||
Member Normal user Level: 12 Posts: 17/27 EXP: 7490 Next: 431 Since: 03-30-17 Last post: 2665 days ago Last view: 2607 days ago |
Hello! I'm trying to compile melonDS using msys2 mingw (https://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 |
| ||
Pile of fazils Level: 24 Posts: 9/127 EXP: 76417 Next: 1708 Since: 03-29-17 From: Denmark Last post: 78 days ago Last view: 5 days ago |
From where did you install wxWidgets? |
MeaningOfLifeIs42 |
| ||
Member Normal user Level: 12 Posts: 18/27 EXP: 7490 Next: 431 Since: 03-30-17 Last post: 2665 days ago Last view: 2607 days ago |
I installed it with "pacman -Su --noconfirm mingw-w64-x86_64-{toolchain,SDL2,wxWidgets} git" like your post in https://melonds.kuribo64.net/board/thread.php?id=12 said to. |
Nadia |
| ||
Pile of fazils Level: 24 Posts: 10/127 EXP: 76417 Next: 1708 Since: 03-29-17 From: Denmark Last post: 78 days ago Last view: 5 days ago |
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 |
| ||
Member Normal user Level: 12 Posts: 19/27 EXP: 7490 Next: 431 Since: 03-30-17 Last post: 2665 days ago Last view: 2607 days ago |
Closer, but now it's asking for the dll wxmsw30u_core_gcc_custom.dll which I don't have anywhere. |
Nadia |
| ||
Pile of fazils Level: 24 Posts: 11/127 EXP: 76417 Next: 1708 Since: 03-29-17 From: Denmark Last post: 78 days ago Last view: 5 days ago |
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 |
| ||
Member Normal user Level: 12 Posts: 20/27 EXP: 7490 Next: 431 Since: 03-30-17 Last post: 2665 days ago Last view: 2607 days ago |
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 |
| ||
Pile of fazils Level: 24 Posts: 12/127 EXP: 76417 Next: 1708 Since: 03-29-17 From: Denmark Last post: 78 days ago Last view: 5 days ago |
Maybe try a pacman -Syu and rebuilding. |
MeaningOfLifeIs42 |
| ||
Member Normal user Level: 12 Posts: 21/27 EXP: 7490 Next: 431 Since: 03-30-17 Last post: 2665 days ago Last view: 2607 days ago |
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! |
Arisotura |
| ||
Big fire melon magical melon girl Level: 59 Posts: 107/964 EXP: 1598598 Next: 74530 Since: 03-28-17 From: France Last post: 5 days ago Last view: 2 days ago |
the error is brought to you by wxWidgets retardedness.
wxWidgets is getting ditched. ____________________ Kuribo64 |
Anonymous |
| ||
Member Normal user Level: 9 Posts: 11/12 EXP: 2217 Next: 945 Since: 04-02-17 Last post: 818 days ago Last view: 818 days ago |
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 | Hide post layouts | New reply |
Page rendered in 0.042 seconds. (2048KB of memory used) MySQL - queries: 30, rows: 99/99, time: 0.033 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |