I believe that Vadim Zeitlin, a long-time wxWidgets maintainer, recommends to use TDM-GCC over MinGW on MSW, as it has had the least amount of issues with wxWidgets, see e.g. the post here:
https://groups.google.com/d/msg/wx-user ... FhgsF_AgAJ.
Just so you know, if you install TDM-GCC, it may target 64-bit as default. If you do not want that, you may be better off downloading TDM-GCC-32. You can still build 32-bit libraries and applications with TDM-GCC-64 but you may need to jump through few extra hoops to do that.
Unless your job demands otherwise, I would recommend building wxWidgets in static multilib builds both for Debug and Release configurations, e.g. with a batch file like this
Code: Select all
PATH=C:\TDM-GCC-64\bin;%PATH%
REM static debug build
mingw32-make -f makefile.gcc BUILD=debug setup_h
mingw32-make -j2 -f makefile.gcc BUILD=debug
REM static release build
mingw32-make -f makefile.gcc BUILD=release setup_h
mingw32-make -j2 -f makefile.gcc BUILD=release
Your I5 has 4 cores, so you may experiment with increasing the value of -j parameter to 3 or 4 to see if the compilation gets to speed up.
Also make sure you use the matching wxcfg in CodeLite project settings, i.e.,
wxcfg=gcc_lib/mswud for the Debug configuration and
wxcfg=gcc_lib/mswu for the Release one. At least I think it is like this, I have virtually no experience with CodeLite.
Just be sure there are no remnants of the previous build, you could always use the makefile with "clean" target, e.g.
Code: Select all
mingw32-make -f makefile.gcc BUILD=debug clean
mingw32-make -f makefile.gcc BUILD=release clean
I usually just (as a part of batch file) delete all folders starting with gcc_ from both WXWIN/build/msw and WXWIN/lib.
If you need modern C++ (C++11, C++14), then add the appropriate CXX flag to all build command lines, e.g. for gnu++11
Code: Select all
mingw32-make -f makefile.gcc BUILD=debug setup_h
mingw32-make -j2 -f makefile.gcc BUILD=debug
becomes
Code: Select all
mingw32-make -f makefile.gcc BUILD=debug setup_h CXXFLAGS="-std=gnu++11"
mingw32-make -j2 -f makefile.gcc BUILD=debug CXXFLAGS="-std=gnu++11"
You should decide on C++ standard beforehand, as you need to build all the libraries you use as well as your program with the same standard. Just so you know, "gnu++11" is specific to GCC, you can get strict C++11 standard with "-std=c++11". wxWidgets install.txt for MSW, which you have hopefully read by now, recommends using gnu++11 instead of c++11.
Last but not least, you need to decide on wxWidgets version: latest 3.0.x release, 3.1 release, GIT master... But this one actually is quite important so you need to decide based on the job requirements.