News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

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.