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!
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.
Deschamps, Thanks!
I have compiled:
mingw32-make-f makefile.gcc BUILD=release MONOLITHIC=1
Now all works!
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
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
You have to compile wxWidgets with UNICODE=1
mingw32-make-f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1Dje
Hi, Dje!
Has compiled with UNICODE=1, the same result...
Maybe error in gcc?
What version gcc you will recommend?
Or to download Code::Blocks together with MinGW - codeblocks-8.02mingw-setup.exe?
--
mingw32-g++.exe -v
Reading specs from C:/MinGWStudio/MinGW/bin/../lib/gcc-lib/mingw32/3.3.1/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable
-languages=c,c++,f77,objc,ada,java --disable-win32-registry --disable-shared --e
nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-ja
va-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchroniz
ation
Thread model: win32
gcc version 3.3.1 (mingw special 20030804-1)
Hi !
"Official" version is 3.4.5 on XP.
You can download a working version on C::B site (Vista compatible).
Dje
Quote from: Zoom on April 21, 2008, 03:14:25 AMMaybe error in gcc?
What version gcc you will recommend?
Or to download Code::Blocks together with MinGW - codeblocks-8.02mingw-setup.exe?
It seems to me like a wrong config in your project, so the linker hasn't been able to find the wxWidgets shared libraries. If you have built and are using different versions (different combinations with shared/static, debug/release, unicode/non-unicode, etc), try to specify the path to the appropiate build in your 'Linker search path' project' options for each case. And remember to update the libraries names used in your project if you want to recompile the same project against different versions (for instance: debug libraries have a "d" added to their name, unicode ones have an "u", and so)... or add a new target build.
And also, bear in mind that using shared libraries you'll need to have a copy of your wxMSW dll's somewhere inside your system path, so the app can use them when running.
In regards to the gcc version, I'm using also 3.4.5 in Windows and all is running fine (I'm using C::B svn version -i.e. built from the svn sources-)
Regards.
I even specified a full path and name "C:\wxWidgets-2.8.7\lib\gcc_dll\libwxmsw28u.a" to library in 'Linker search directories' аnd also has created the new project which supports unicode...
аnd certainly I have copy 'dll' in a system path...
I will try now gcc 3.4.5
if it will be interesting to you I soon write here about results...
Quote from: Zoom on April 21, 2008, 03:34:46 PM
I even specified a full path and name "C:\wxWidgets-2.8.7\lib\gcc_dll\libwxmsw28u.a" to library in 'Linker search directories' аnd also has created the new
well you put a file where it is asking for a directory.
C:\wxWidgets-2.8.7\lib\gcc_dll
needs to be in the linker search directory and
wxmsw28u
needs to be in the included libs
Thanks all for the help, error was all the same in gcc!
I have now installed gcc 3.4.5(codeblocks-8.02mingw-setup.exe) and have compiled anew wxWidgets
All works, only two small errors - gcc was independent has not found сс1.exe and an error with a resource...
C:\wxWidgets-2.8.7\include\wx\msw\wx.rc:16: windows.h: No such file or directory
I have also the same problem:
wx\msw\wx.rc:9: No such file or directory
workaround?