I am trying to link the "minimal" application with Code::Blocks and am receiving 40 undefined reference errors (listed below). Using MSYS and MinGW I compiled the "minimal" sample successfully, so I figured it had to be a problem with the way I have Code::Blocks setup.
Here are the steps I have taken:
Download
-----------
Download wxWidgets 2.5.3 source
Download Code::Blocks installer
Download MinGW installer
Download MSYS installer
Install
-------
Install MinGW
Install MSYS
Install Code::Blocks
Compile
---------
$ mkdir /c/Programs/wxWidgets-2.5.3/msw-release
$ cd /c/Programs/wxWidgets-2.5.3/msw-release
$ ../configure --disable-shared --disable-debug --enable-unicode --disable-universal --enable-monolithic --enable-use_gui --enable-use_opengl --enable-use_html --enable-use_xrc --enable-runtime_libs
$ make
$ cp C:\Programs\wxWidgets-2.5.4\msw-release\lib\wx\include\msw-unicode-release-static-2.5\wx\setup.h C:\Programs\wxWidgets-2.5.4\include\wx\
$ make install
NOTE: "make install" FAILED WITH ERROR 34; but the next steps still worked so I ignored it
$ cd ../samples/minimal
$ make && minimal.exe
After a short compile process the minimal application popped up fully functional (1 window, 2 menus, and an about dialog)
Code::Blocks
---------------
Created a new Code::Blocks wxWidgets project folder.
Copied minimal.cpp into the project folder.
Created a new Code::Blocks wxWidget application using a statically linked library.
Removed main.cpp from the project.
Added minimal.cpp to the project.
Project->Build options->Compiler dirs: C:\Programs\wxWidgets-2.5.4\include
Project->Build options->Linker dirs: C:\Programs\wxWidgets-2.5.4\msw-release\lib
Project->Build options->Linker options->Link libraries->Edit: wx_mswu-2.5 (from C:\Programs\wxWidgets-2.5.4\msw-release\lib\libwx_mswu-2.5.a)
Compile->Compile
Output
--------
Project : wxWidgets application
Compiler : GNU GCC Compiler (called directly)
Directory : U:\Programming\wxWidgetsStaticLibraryTest\
--------------------------------------------------------------------------------
Linking executable: U:\Programming\wxWidgetsStaticLibraryTest\wxWidgetsStaticLIbraryTest.exe
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_app.o)(.text+0x8b9):app.cpp: undefined reference to `InitCommonControls@0'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_app.o)(.text+0x8c3):app.cpp: undefined reference to `OleInitialize@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_app.o)(.text+0xbfc):app.cpp: undefined reference to `OleUninitialize@0'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_window.o)(.text+0x8aa7):window.cpp: undefined reference to `_TrackMouseEvent@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_statbr95.o)(.text+0x1a4):statbr95.cpp: undefined reference to `CreateStatusWindowW@16'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_filename.o)(.text+0x40d1):filename.cpp: undefined reference to `CoCreateInstance@20'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_filename.o)(.text+0x40f7):filename.cpp: undefined reference to `IID_IPersistFile'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_droptgt.o)(.text+0x745):droptgt.cpp: undefined reference to `CoLockObjectExternal@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_droptgt.o)(.text+0x758):droptgt.cpp: undefined reference to `RegisterDragDrop@8'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_droptgt.o)(.text+0x780):droptgt.cpp: undefined reference to `CoLockObjectExternal@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_droptgt.o)(.text+0x79f):droptgt.cpp: undefined reference to `RevokeDragDrop@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_droptgt.o)(.text+0x7ae):droptgt.cpp: undefined reference to `CoLockObjectExternal@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_droptgt.o)(.data+0x0):droptgt.cpp: undefined reference to `IID_IUnknown'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_droptgt.o)(.data+0x4):droptgt.cpp: undefined reference to `IID_IDropTarget'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_spinbutt.o)(.text+0x32e):spinbutt.cpp: undefined reference to `CreateUpDownControl@48'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x13d):imaglist.cpp: undefined reference to `ImageList_Create@20'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x1c5):imaglist.cpp: undefined reference to `ImageList_Destroy@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x215):imaglist.cpp: undefined reference to `ImageList_Destroy@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x26a):imaglist.cpp: undefined reference to `ImageList_Destroy@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x28e):imaglist.cpp: undefined reference to `ImageList_GetImageCount@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x2b6):imaglist.cpp: undefined reference to `ImageList_GetIconSize@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x370):imaglist.cpp: undefined reference to `ImageList_Add@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x3fb):imaglist.cpp: undefined reference to `ImageList_AddMasked@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x460):imaglist.cpp: undefined reference to `ImageList_ReplaceIcon@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x4e3):imaglist.cpp: undefined reference to `ImageList_Replace@16'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x532):imaglist.cpp: undefined reference to `ImageList_ReplaceIcon@12'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x562):imaglist.cpp: undefined reference to `ImageList_Remove@8'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x590):imaglist.cpp: undefined reference to `ImageList_GetImageCount@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x5fd):imaglist.cpp: undefined reference to `ImageList_SetBkColor@8'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_imaglist.o)(.text+0x63d):imaglist.cpp: undefined reference to `ImageList_Draw@24'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_clipbrd.o)(.text+0x1139):clipbrd.cpp: undefined reference to `OleSetClipboard@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_clipbrd.o)(.text+0x1156):clipbrd.cpp: undefined reference to `OleFlushClipboard@0'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_clipbrd.o)(.text+0x1246):clipbrd.cpp: undefined reference to `OleSetClipboard@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_clipbrd.o)(.text+0x13a5):clipbrd.cpp: undefined reference to `OleGetClipboard@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_clipbrd.o)(.text+0x1562):clipbrd.cpp: undefined reference to `ReleaseStgMedium@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_dataobj.o)(.text+0xddd):dataobj.cpp: undefined reference to `ReleaseStgMedium@4'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_dataobj.o)(.data+0x0):dataobj.cpp: undefined reference to `IID_IUnknown'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_dataobj.o)(.data+0x4):dataobj.cpp: undefined reference to `IID_IEnumFORMATETC'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_dataobj.o)(.data+0x8):dataobj.cpp: undefined reference to `IID_IUnknown'
C:\Programs\wxWidgets-2.5.4\msw-release\lib/libwx_mswu-2.5.a(monolib_dataobj.o)(.data+0xc):dataobj.cpp: undefined reference to `IID_IDataObject'
Process terminated with status 1 (0 minutes, 2 seconds)
40 errors, 0 warnings
HELP!
-------
I have been working this for 3 days and still haven't figured out how to compile a statically linked wxWidgets application.
I have also tried with the release version to no avail. To top it off, I need to get SQLite working with it all on top of everything else, I am only praying that goes smoother.