Do you have a question about makefiles, a compiler or IDE you are using and need to know how to set it up for wxWidgets or why it doesn't compile but other IDE's do ? Post your questions here.
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6).
Aborted
In the compile options (Code::blocks) I have it using wx-config --cflags, and in link wx-config --libs
user@localhost:~$ wx-config --list
Default config is base-unicode-debug-2.8
Default config will be used for output
Alternate matches:
base-unicode-release-2.6
base-unicode-release-2.8
gtk2-unicode-debug-2.8
But .. The selected default, which is confirmed in the above listing, is the one I want, it's the one I instructed to link against, it is the one the system is trying to use, yet it claims that the release build was linked to.
The wx-config --libs clearly shows it's trying to link against unicode debug... I'm at a loss as to why the executable claims to have been built without debugging symbols.
user@localhost:~/Projects/DPS$ wx-config --toolkit=gtk2 --cflags
-I/usr/lib/wx/include/gtk2-unicode-debug-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXDEBUG__ -D__WXGTK__ -pthread
user@localhost:~/Projects$ wx-config --toolkit=gtk2 --libs
-pthread -Wl,-Bsymbolic-functions -lwx_gtk2ud_richtext-2.8 -lwx_gtk2ud_aui-2.8 -lwx_gtk2ud_xrc-2.8 -lwx_gtk2ud_qa-2.8 -lwx_gtk2ud_html-2.8 -lwx_gtk2ud_adv-2.8 -lwx_gtk2ud_core-2.8 -lwx_baseud_xml-2.8 -lwx_baseud_net-2.8 -lwx_baseud-2.8
user@localhost:~/Projects$ bin/Debug/Project
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6).
Aborted
But I'm sure I needed to make that fix before anyhow.
You can use update-alternatives to select the correct alternative permanently. I'd be surprised if it didn't work then, using just the standard wx-config invocations.
It's unclear from your post if you used "wx-config --toolkit=gtk2" to re-build your project; simply calling "wx-config --toolkit=gtk2 --cflags" on the terminal won't change your project
It's unclear from your post if you used "wx-config --toolkit=gtk2" to re-build your project; simply calling "wx-config --toolkit=gtk2 --cflags" on the terminal won't change your project
I'm using the terminal to show what the options passed are. It is quite clearly stated in line 8 of the original post:
In the compile options (Code::blocks) I have it using wx-config --cflags, and in link wx-config --libs
I didn't think it necessary to repeat that every time, but copied the output from the commands into the post for clarity as to what was being passed to the compiler. It's also "unclear" from the posts if I'm compiling the code each time I make a change. I am.
However... Whatever the default is supposed to be and what it is are completely different things. The default all along has debugging enabled (As well as the selection made using wx-config), but the executable code claims to have debugging disabled.