Page 1 of 1

ABI 1002 vs ABI 1008 and deprecated items on new install

Posted: Fri Jan 01, 2016 9:40 pm
by redbykes
I am a total novice but have done a minimal amount of development some time back. I got a new computer, and here goes:
1. I'm on a new windows 10 machine.
2. Installed 9.0.0 version of CodeLite
3. Installed 3 compilers from fresh downloads - MinGW, TDM-GCC-32, and TDM-GCC-64 (trying various options - the -64 gave the fewest problems)
4. Installed wxWidgets 3.1 from a fresh download
[ messed around a bit - getting various errors from various tries, but deleted all workspaces before continuing]
5. ran CodeLite, which said there was a newer version, so I installed it, 9.0.7, choosing not to keep my old configuration in order to start fresh
6. Started a new workspace
7. Started a new project - GUI - wxWidgets with wxFrame. Chose the TDM-GCC-64 compiler - but made no changes to this project
8. under the Build menu item, selected Build (F7)
9. Optained the output below, noting a lot of warnings but no errors.
10. under the Build menu item, selected Run (ctrl F5) then "Execute" and got this message:

Mismatch between the program and library build versions detected.
The Library used 3.1.0 (wchar_t, compiler with C++ ABI 1002, wx
containers, compatible with 3.0),
and your program used 3.1.0 (wchar_t, compiler with C++ ABI 1008, wx
containers, compatible with 3.0).

Output of build:

C:\Windows\system32\cmd.exe /C C:/TDM-GCC-64/bin/mingw32-make.exe -j4 SHELL=cmd.exe -e -f Makefile
"----------Building project:[ noon - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/Projects/FridayWorkspace/noon'
C:/TDM-GCC-64/bin/windres.exe -i "C:/Projects/FridayWorkspace/noon/win_resources.rc" --use-temp-file --define __WXMSW__ --define _UNICODE --include-dir C:/wxWidgets-3.1/lib/gcc_dll/mswu --include-dir C:/wxWidgets-3.1/include --define WXUSINGDLL -o ./Debug/win_resources.rc.o
C:/TDM-GCC-64/bin/g++.exe -c "C:/Projects/FridayWorkspace/noon/wxcrafter.cpp" -g -O0 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -D__WXDEBUG__ -D_UNICODE -IC:/wxWidgets-3.1/lib/gcc_dll/mswud -IC:/wxWidgets-3.1/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -o ./Debug/wxcrafter.cpp.o -I. -I.
C:/TDM-GCC-64/bin/windres.exe: warning: 24: 1: 1033: duplicate value
C:/TDM-GCC-64/bin/g++.exe -c "C:/Projects/FridayWorkspace/noon/wxcrafter_bitmaps.cpp" -g -O0 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -D__WXDEBUG__ -D_UNICODE -IC:/wxWidgets-3.1/lib/gcc_dll/mswud -IC:/wxWidgets-3.1/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -o ./Debug/wxcrafter_bitmaps.cpp.o -I. -I.
C:/TDM-GCC-64/bin/g++.exe -c "C:/Projects/FridayWorkspace/noon/MainFrame.cpp" -g -O0 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -D__WXDEBUG__ -D_UNICODE -IC:/wxWidgets-3.1/lib/gcc_dll/mswud -IC:/wxWidgets-3.1/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -o ./Debug/MainFrame.cpp.o -I. -I.
C:/TDM-GCC-64/bin/g++.exe -c "C:/Projects/FridayWorkspace/noon/main.cpp" -g -O0 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -D__WXDEBUG__ -D_UNICODE -IC:/wxWidgets-3.1/lib/gcc_dll/mswud -IC:/wxWidgets-3.1/include -DWXUSINGDLL -Wno-ctor-dtor-privacy -pipe -fmessage-length=0 -fno-keep-inline-dllexport -std=c++11 -o ./Debug/main.cpp.o -I. -I.
C:/Projects/FridayWorkspace/noon/wxcrafter.cpp:62:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
}
^
In file included from C:/wxWidgets-3.1/include/wx/xrc/xmlreshandler.h:23:0,
from C:/wxWidgets-3.1/include/wx/xrc/xmlres.h:30,
from C:/Projects/FridayWorkspace/noon/wxcrafter.h:5,
from C:/Projects/FridayWorkspace/noon/wxcrafter.cpp:1:
C:/wxWidgets-3.1/include/wx/window.h:1868:13: note: declared here
inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
^
C:/Projects/FridayWorkspace/noon/wxcrafter.cpp:62:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
}
^
In file included from C:/wxWidgets-3.1/include/wx/xrc/xmlreshandler.h:23:0,
from C:/wxWidgets-3.1/include/wx/xrc/xmlres.h:30,
from C:/Projects/FridayWorkspace/noon/wxcrafter.h:5,
from C:/Projects/FridayWorkspace/noon/wxcrafter.cpp:1:
C:/wxWidgets-3.1/include/wx/window.h:1868:13: note: declared here
inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
^
C:/Projects/FridayWorkspace/noon/MainFrame.cpp:27:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
}
^
In file included from C:/wxWidgets-3.1/include/wx/xrc/xmlreshandler.h:23:0,
from C:/wxWidgets-3.1/include/wx/xrc/xmlres.h:30,
from C:/Projects/FridayWorkspace/noon/wxcrafter.h:5,
from C:/Projects/FridayWorkspace/noon/MainFrame.h:3,
from C:/Projects/FridayWorkspace/noon/MainFrame.cpp:1:
C:/wxWidgets-3.1/include/wx/window.h:1868:13: note: declared here
inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
^
C:/Projects/FridayWorkspace/noon/MainFrame.cpp:27:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
}
^
In file included from C:/wxWidgets-3.1/include/wx/xrc/xmlreshandler.h:23:0,
from C:/wxWidgets-3.1/include/wx/xrc/xmlres.h:30,
from C:/Projects/FridayWorkspace/noon/wxcrafter.h:5,
from C:/Projects/FridayWorkspace/noon/MainFrame.h:3,
from C:/Projects/FridayWorkspace/noon/MainFrame.cpp:1:
C:/wxWidgets-3.1/include/wx/window.h:1868:13: note: declared here
inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
^
In file included from C:/Projects/FridayWorkspace/noon/main.cpp:1:0:
C:/wxWidgets-3.1/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
#define IMPLEMENT_APP(app) wxIMPLEMENT_APP(app);
^
C:/Projects/FridayWorkspace/noon/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
IMPLEMENT_APP(MainApp)
^
In file included from C:/wxWidgets-3.1/include/wx/xrc/xmlreshandler.h:23:0,
from C:/wxWidgets-3.1/include/wx/xrc/xmlres.h:30,
from C:/Projects/FridayWorkspace/noon/wxcrafter.h:5,
from C:/Projects/FridayWorkspace/noon/MainFrame.h:3,
from C:/Projects/FridayWorkspace/noon/main.cpp:3:
C:/wxWidgets-3.1/include/wx/window.h:1868:13: note: declared here
inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
^
C:/TDM-GCC-64/bin/g++.exe -o ./Debug/noon @"noon.txt" -L. -mthreads -LC:/wxWidgets-3.1/lib/gcc_dll -lwxmsw31ud -lwxscintillad -lwxtiffd -lwxjpegd -lwxpngd -lwxzlibd -lwxregexud -lwxexpatd -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwxregexud -lwinspool -lwinmm -lshell32 -lcomctl32 -lversion -lshlwapi -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -mwindows
mingw32-make.exe[1]: Leaving directory 'C:/Projects/FridayWorkspace/noon'
====0 errors, 17 warnings====

Re: ABI 1002 vs ABI 1008 and deprecated items on new install

Posted: Fri Jan 01, 2016 10:50 pm
by eranif
This is not a CodeLite issue, you need to make sure that when running your project the wxWIdgets DLLs are identical to the ones you used for building your application, also make sure that you have built wxWidgets with the same compiler as the one you built your application.

To make sure that you are using the same libraries for both building and running: right click on the workspace->workspace settings->environment variables and set this:

Code: Select all

PATH=C:\wxWidgets-3.1\lib\gcc_dll;$PATH
Eran

Re: ABI 1002 vs ABI 1008 and deprecated items on new install

Posted: Sat Jan 02, 2016 5:53 pm
by redbykes
Thank you! It all makes sense, and when I do what you said I'm up and running on the new computer.