News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

wxWidgets 2.6 (MSW, GCC) installation instructions

Started by rickg22, April 24, 2005, 06:12:24 AM

Previous topic - Next topic

rickg22

Speaking about wxWidgets, I think there's a problem with the templates. Static template links to wxmsw242. That'd be a big turnoff for new users.

jmccay

Speaking of wxWidgets 2.6.1, there is a patch out for it.  From the website:

QuoteThis patch fixes the following problems on Windows:


  • Crash on exit when destroying wxCHMHelpController in wxApp::OnExit.
  • wxListBox, wxCheckListBox scrolling glitch when Windows effects are enabled.
  • Wrong area sometimes being refreshed after a window is resized.
  • Notebook refreshing the wrong area when resized.
  • Problem for non-VC++ compilers where some toolbar tooltips cause a crash.
  • An eVC++ 3 compile error.
Please download wxWidgets-2.6.1-Patch01.zip and unarchive from the top level of your wxWidgets tree.

   I haven't followed all the problem issues, but if this fixes any problems you may have, down load it now.
jmccay :D
OS: WinXP, Win98 SE, & sometimes Linux

a little light reading from the wxWidgets 2.6.2 readme: A detailed 2000-page reference manual is supplied in HTML, PDF and Windows Help form: see the docs hierarchy.

jmccay

Does RC1 (with mingw included) contain gcc-3.4.4 that allows 2.6.1 to compile without warnings?
jmccay
OS: WinXP, Win98 SE, & sometimes Linux

a little light reading from the wxWidgets 2.6.2 readme: A detailed 2000-page reference manual is supplied in HTML, PDF and Windows Help form: see the docs hierarchy.

mandrav

Quote from: jmccay on July 27, 2005, 02:58:40 AM
Does RC1 (with mingw included) contain gcc-3.4.4 that allows 2.6.1 to compile without warnings?
jmccay

Yep :)

Yiannis.
Be patient!
This bug will be fixed soon...

jmccay

I uninstalled the final beta and installed RC1.  I chose not to clear the settings.  I set my path to include:

C:\Program Files\CodeBlocks\bin

My wxWidgets 2.6.1 (from CVS with the patch installed manually because it was available later) is in the this directory:

C:\development\projects\WX_2_6_1\wxWidgets

   I am still getting these warnings--endless warnings.  I can't figure out why.  It finishes compiling without errors, but I was wondering what was causing all the warning.  I get the dlls and archives.

../../include/wx/datetime.h:34: warning: type attributes are honored only at typ
e definition
../../include/wx/datetime.h:35: warning: type attributes are honored only at typ
e definition
../../include/wx/datetime.h:36: warning: type attributes are honored only at typ
e definition
../../include/wx/datetime.h:111: warning: type attributes are honored only at ty
pe definition
../../include/wx/datetime.h:1440: warning: type attributes are honored only at t
ype definition


jmccay
OS: WinXP, Win98 SE, & sometimes Linux

a little light reading from the wxWidgets 2.6.2 readme: A detailed 2000-page reference manual is supplied in HTML, PDF and Windows Help form: see the docs hierarchy.

jmccay

I just started a new project using RC1-1 using the wxWidgets template.  I get the following linker error:

C:\Program Files\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: cannot find -lwxmsw

I don't understand why it's not finding the the wxmsw library.  What's the sepcific name of the library.  I have a "libwxmsw26.a".  I have the DLLs in both the windows/system32 directory and in the same directory as the .a the paths are all set in the search directories.  I am at a loss.  I compiled an earlier project created with the Final-Beta, and it ran.

Any suggestions?
Joe M.
OS: WinXP, Win98 SE, & sometimes Linux

a little light reading from the wxWidgets 2.6.2 readme: A detailed 2000-page reference manual is supplied in HTML, PDF and Windows Help form: see the docs hierarchy.

rickg22

If you have libwxmswNN.a, that means you want a Dynamically-linked wxwidgets application. There's another template for that.

After you create your project, there's a wxmsw242 in your project's linker options. change it to wxmsw26 and you're done.

jmccay

Wow that did it--after I changed the linked library to 26.  I feel dumb.  I didn't even notice there was an option to chose static or dynamic linked libraries.  What do you need to statically link the libraries?  If I remember it's .lib.  How can I produce those if I wanted to?  Man, I wish Visual Studio taught you things like this.  It tends to hide these details from you.
  Now I am going to change the templates to reflect 26.  If I figure out how to do it, do you guys want the file(s)?
Joe M.
OS: WinXP, Win98 SE, & sometimes Linux

a little light reading from the wxWidgets 2.6.2 readme: A detailed 2000-page reference manual is supplied in HTML, PDF and Windows Help form: see the docs hierarchy.

jmccay

#38
It's done and working.  I didn't test the 2.4.2 because I don't have it installed.  I just test on version.  The change was minimal.  I appended a _26 to the new file--as you will see when you get it.  It might be a good idea in the future to do something similar, and it might be possible to add platform abbreviation such as _26_msw in the future if someone has multiple target platforms.
Joe M.
OS: WinXP, Win98 SE, & sometimes Linux

a little light reading from the wxWidgets 2.6.2 readme: A detailed 2000-page reference manual is supplied in HTML, PDF and Windows Help form: see the docs hierarchy.

rickg22

For dynamic libraries, the .lib files are linked so the application can interface with the DLL.

Serge2005

Hello friends, I am newbei in CodeBlocks, so I can't compile wxWidgets application...
I compiled wxWidgets 2.6.1 successfully, but when I try compile in CodeBlocks "New project->wxWidgets Application", I got message "ld.exe cannot find -lwxmsw"
I have this compiler log:
+++++++++++++++++++++++++++++++++++++++++++++++
Project   : wxWidgets application
Compiler  : GNU GCC Compiler (called directly)
Directory : C:\Proj\CODEBLOCKS\wxW\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.cpp
Linking executable: C:\Proj\CODEBLOCKS\wxW\wxWidgets.exe
C:\Program Files\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: cannot find -lwxmsw
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 3 seconds)
1 errors, 0 warnings
++++++++++++++++++++++++++++++++++++++++++++++++++
I have  Code::Blocks 1.0-RC1
Please tell me what do I do wrong?
Thank you in advance.
OS: LMDE2-32bit with Xfce

Serge2005

oh.. I'm sorry I forgot to say...  :D
I have wxWidgets 2.6.1 installed so..  C:\wx
In Compiler Options->Directories->Compiler I added "C:\wx\include"
In Compiler Options->Directories->Linker I added "C:\wx\lib\gcc_lib"

OS: LMDE2-32bit with Xfce

mandrav

Just go to your project's link libraries and edit wxmsw to wxmsw261, or what have you (look for c:\wx\gcc_lib\libwxmsw261.a, for example)...
Be patient!
This bug will be fixed soon...

Serge2005

Thank you mandrave for your quick reply...
I am very ashamed for my dullness, but I have no "libwxmsw261.a" in "C:\wx\lib\gcc_lib" directory
and I have no one in "C:\wx" at all.
There are these files in "C:\wx\lib\gcc_lib":
libwxbase26.a
libwxbase26_net.a
libwxbase26_xml.a
libwxbase26d.a
libwxbase26d_net.a
libwxbase26d_xml.a
libwxexpat.a
libwxexpatd.a
libwxjpeg.a
libwxjpegd.a
libwxmsw26_adv.a
libwxmsw26_core.a
libwxmsw26_html.a
libwxmsw26_media.a
libwxmsw26_xrc.a
libwxmsw26d_adv.a
libwxmsw26d_core.a
libwxmsw26d_html.a
libwxmsw26d_media.a
libwxmsw26d_xrc.a
libwxpng.a
libwxpngd.a
libwxregex.a
libwxregexd.a
libwxtiff.a
libwxtiffd.a
libwxzlib.a
libwxzlibd.a

I'v done try to link every file, but had same failure.  :(
I lost myself in this issue  :( :(
OS: LMDE2-32bit with Xfce

rickg22

AHHHHH you need to build your wxwidgets library using the MONOLITHIC=1 flag.

that would give you a single libwxmsw26.a. And if you build using SHARED=0 (besides the MONOLITHIC=1), you'll have the statically linkable libwxmsw.a.