User forums > Help

wxWidgets-2.8.7 not linking

(1/3) > >>

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