User forums > Help
wxWidgets-2.8.7 not linking
Zoom:
I have installed new library wxWidgets-2.8.7 but it has now for some reason new names in "a" files:
libwxbase28.a
libwxbase28_net.a
libwxbase28_xml.a
libwxexpat.a
libwxjpeg.a
libwxmsw28_adv.a
libwxmsw28_aui.a
libwxmsw28_core.a
libwxmsw28_html.a
libwxmsw28_media.a
libwxmsw28_richtext.a
libwxmsw28_xrc.a
libwxpng.a
libwxregex.a
libwxtiff.a
libwxzlib.a
I tried to change in "Link Libraries" but the project not linking...
Or how to me to compile wxWidgets-2.8.7 (WinXP & MinGW) so that at it there were former names?
libwxexpat.a
libwxjpeg.a
libwxmsw28.a
libwxpng.a
libwxregex.a
libwxtiff.a
libwxzlib.a
Thanks for help!
Deschamps:
All those 'libwx*' libraries are built in that manner when you compile your wxMSW sources without specifying a monolithic build.
So, rebuilding your libraries with the 'MONOLITHIC=1' parameter will do the job.
You could also consider building shared libraries, so your binaries could be smaller.
Regads.
Zoom:
Deschamps, Thanks!
I have compiled:
mingw32-make-f makefile.gcc BUILD=release MONOLITHIC=1
Now all works!
Zoom:
I have tried to compile still as you have advised build with shared libraries
mingw32-make-f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=0
--
libwxexpat.a
libwxjpeg.a
libwxmsw28.a
libwxpng.a
libwxregex.a
libwxtiff.a
libwxzlib.a
wxmsw28_gcc_custom.dll
--
Then I have made the new project with settings:
wxWidgets Library Settings
X Use wxWidgets DLL
X wxWidgets Is built as a monolithic library
_ Enable Unicode
But linker prints already new errors...
-------------- Build: Release in test3 ---------------
Linking executable: bin\Release\test3.exe
obj\Release\test3Main.o(.text+0x763):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x77d):test3Main.cpp: undefined reference to `wxFont::SetPointSize(int)'
obj\Release\test3Main.o(.text+0x11cd):test3Main.cpp: undefined reference to `wxWindowBase::SetSizer(wxSizer*, bool)'
obj\Release\test3Main.o(.text+0x1297):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x158f):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x15a6):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x15be):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x16cc):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x1774):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x1861):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x1f53):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x1f6d):test3Main.cpp: undefined reference to `wxFont::SetPointSize(int)'
obj\Release\test3Main.o(.text+0x29bd):test3Main.cpp: undefined reference to `wxWindowBase::SetSizer(wxSizer*, bool)'
obj\Release\test3Main.o(.text+0x2a87):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x2d7f):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x2d96):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x2dae):test3Main.cpp: undefined reference to `wxFont::~wxFont()'
obj\Release\test3Main.o(.text+0x2ebc):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x2f64):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x3051):test3Main.cpp: undefined reference to `_imp___ZN9wxControlD2Ev'
obj\Release\test3Main.o(.text+0x326c):test3Main.cpp: undefined reference to `wxWindowBase::Close(bool)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x24):test3Main.cpp: undefined reference to `wxWindowBase::TryValidator(wxEvent&)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x28):test3Main.cpp: undefined reference to `wxWindowBase::TryParent(wxEvent&)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x4c):test3Main.cpp: undefined reference to `wxWindow::GetLabel() const'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x58):test3Main.cpp: undefined reference to `wxWindow::GetLayoutDirection() const'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x60):test3Main.cpp: undefined reference to `wxWindow::AdjustForLayoutDirection(int, int, int) const'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x68):test3Main.cpp: undefined reference to `wxWindow::Lower()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x6c):test3Main.cpp: undefined reference to `wxWindowBase::GetClientAreaOrigin() const'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x70):test3Main.cpp: undefined reference to `wxWindowBase::Fit()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x74):test3Main.cpp: undefined reference to `wxWindowBase::FitInside()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x98):test3Main.cpp: undefined reference to `wxWindowBase::DoGetVirtualSize() const'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xa0):test3Main.cpp: undefined reference to `wxWindowBase::GetWindowBorderSize() const'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xb4):test3Main.cpp: undefined reference to `wxWindowBase::IsShownOnScreen() const'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xb8):test3Main.cpp: undefined reference to `wxWindow::SetWindowStyleFlag(long)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xc4):test3Main.cpp: undefined reference to `wxWindow::SetExtraStyle(long)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xc8):test3Main.cpp: undefined reference to `wxWindowBase::MakeModal(bool)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xd8):test3Main.cpp: undefined reference to `wxWindow::SetFocusFromKbd()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xe4):test3Main.cpp: undefined reference to `wxWindowBase::Navigate(int)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xec):test3Main.cpp: undefined reference to `wxWindow::Reparent(wxWindowBase*)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xf0):test3Main.cpp: undefined reference to `wxWindowBase::AddChild(wxWindowBase*)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0xf8):test3Main.cpp: undefined reference to `wxWindowBase::SetValidator(wxValidator const&)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x100):test3Main.cpp: undefined reference to `wxWindowBase::Validate()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x104):test3Main.cpp: undefined reference to `wxWindowBase::TransferDataToWindow()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x108):test3Main.cpp: undefined reference to `wxWindowBase::TransferDataFromWindow()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x10c):test3Main.cpp: undefined reference to `wxWindowBase::InitDialog()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x114):test3Main.cpp: undefined reference to `wxWindow::RegisterHotKey(int, int, int)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x118):test3Main.cpp: undefined reference to `wxWindow::UnregisterHotKey(int)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x11c):test3Main.cpp: undefined reference to `wxWindow::WarpPointer(int, int)'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x128):test3Main.cpp: undefined reference to `wxWindow::Update()'
obj\Release\test3Main.o(.rdata$_ZTV11test3Dialog+0x12c):test3Main.cpp: undefined reference to `wxWindowBase::ClearBackground()'
Process terminated with status 1 (0 minutes, 18 seconds)
50 errors, 0 warnings
dje:
Hi !
--- Quote from: Zoom on April 21, 2008, 12:13:27 am ---mingw32-make-f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=0
...
_ Enable Unicode
--- End quote ---
You have to compile wxWidgets with UNICODE=1
--- Code: ---mingw32-make-f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
--- End code ---
Dje
Navigation
[0] Message Index
[#] Next page
Go to full version