@echo off
REM credit to Peter Ward work in ReactOS Build Environment RosBE.cmd it gave me a starting point that I edited.
::
:: Display the current version of GCC, ld, make and others.
::
REM %CD% works in Windows XP, not sure when it was added to Windows
REM set MINGWBASEDIR=C:\MinGW
set MINGWBASEDIR=%CD%
ECHO MINGWBASEDIR=%MINGWBASEDIR%
SET PATH=%MINGWBASEDIR%\bin;%SystemRoot%\system32
if exist %MINGWBASEDIR%\bin\gcc.exe (gcc -v 2>&1 | find "gcc version")
if exist %MINGWBASEDIR%\bin\gcc-dw2.exe (gcc-dw2.exe -v 2>&1 | find "gcc version")
if exist %MINGWBASEDIR%\bin\gcc-sjlj.exe (gcc-sjlj.exe -v 2>&1 | find "gcc version")
if exist %MINGWBASEDIR%\bin\nasm.exe (nasm -v)
if exist %MINGWBASEDIR%\bin\ld.exe (ld -v)
if exist %MINGWBASEDIR%\bin\windres.exe (windres --version | find "GNU windres")
if exist %MINGWBASEDIR%\bin\dlltool.exe (dlltool --version | find "GNU dlltool")
if exist %MINGWBASEDIR%\bin\pexports.exe (pexports | find "PExports" )
if exist %MINGWBASEDIR%\bin\mingw32-make.exe (mingw32-make -v | find "GNU Make")
if exist %MINGWBASEDIR%\bin\make.exe (ECHO It is not recommended to have make.exe in mingw/bin)
REM ECHO "The minGW runtime version is the same as __MINGW32_VERSION"
if exist "%MINGWBASEDIR%\include\_mingw.h" (type "%MINGWBASEDIR%\include\_mingw.h" | find "__MINGW32_VERSION" | find "#define")
if exist "%MINGWBASEDIR%\include\w32api.h" (type "%MINGWBASEDIR%\include\w32api.h" | find "__W32API_VERSION")
PAUSE
MINGWBASEDIR=C:\Apps\MinGW_GCC4
gcc version 4.2.1-sjlj (mingw32-2)
gcc version 4.2.1-dw2 (mingw32-2)
gcc version 4.2.1-sjlj (mingw32-2)
GNU ld version 2.17.50 20060824
GNU windres 2.17.50 20060824
GNU dlltool 2.17.50 20060824
GNU Make 3.81
#define __MINGW32_VERSION 3.13
#define __W32API_VERSION 3.10
Press any key to continue . . .
If I compile the same program with wxDevC++ (http://wxdsgn.sourceforge.net/) everything works fine. So may be this is a good opportunity to check if your problem is coursed by your source, the wxWidgets-library or by the IDE.
I am using:
-code::blocks nightly build revision 3803
-wxWidgets 2.8.5 with the following build command: mingw32-make.exe -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1
-wxWigets was compiled using:
GNU Make 3.81
gcc version 4.2.1-dw2 (mingw32-2)
-Operating system: Windows XP Pro Tablet Edition
When I used 4.2, I would get a lot of warnings where as 3.4.x compiled with few warnings.
mingw32-make -f makefile.gcc CXXFLAGS="-Wno-attributes" ...
You should remember one point. Your IDE is not responsible for your good or bad program. IDEs are interface to the compilers and it solely depends on the users how they drive the compiler through IDE. So if you use garbage settings, you'll get a garbage output (exe file in this case).
Now I now I have to change the C::B project-settings (the "garbage settings" made by the project-wizzard of C::B). But it is possible to change all options? For example where do I change the wxWidgets library-settings I made with the project-wizzard? Why are the library-names inserted by the wizzard not the same as in the lib-directory?
libwxmsw28_xrc.a
libwxmsw28_aui.a
libwxmsw28_dbgrid.a
libwxbase28_odbc.a
libwxmsw28_media.a
libwxbase28_net.a
libwxmsw28_gl.a
libwxmsw28_qa.a
libwxbase28_xml.a
libwxmsw28_adv.a
libwxmsw28_html.a
libwxmsw28_core.a
libwxbase28.a
libwxpng.a
libwxjpeg.a
libwxtiff.a
libwxzlib.a
libwxregex.a
libwxexpat.a
libwxexpat-2.8.a
libwxjpeg-2.8.a
libwxpng-2.8.a
libwxregex-2.8.a
libwxtiff-2.8.a
libwxzlib-2.8.a
libwx_base-2.8.a
libwx_base_net-2.8.a
libwx_base_odbc-2.8.a
libwx_base_xml-2.8.a
libwx_msw_adv-2.8.a
libwx_msw_aui-2.8.a
libwx_msw_core-2.8.a
libwx_msw_dbgrid-2.8.a
libwx_msw_gl-2.8.a
libwx_msw_html-2.8.a
libwx_msw_qa-2.8.a
libwx_msw_richtext-2.8.a
libwx_msw_xrc-2.8.a
Is there a posibility to adjust the default-names by myself? Because if you define them hard in the source-code and in the next devpak they change again you are the only one who can help.
If I remember correctly the name of the libraries shipped with wxPack indicate that they are generated in MSYS using configure make process. This method is not supported by the wizard on Windows. If you use normal command line and make, you'll get the names that the wizard uses.
wxPack (http://wxpack.sf.net) builds with normal command line and make, and has names like "libwxmsw28_core.a". It works well with C::B.
Eckard is using "wxWidgets-devpak(2.8.4)", which I am not familiar with.