wxWidgets is a cross-platform application library that lets developers write once to compile on many different platforms. Why is wxWidgets superior to other cross-platform development methods? There are several reasons.
- Select your target. wxWidgets compiles onto Windows, Mac OS X, GTK+, X11, Motif, WinCE, and many more platforms.
- Choose you weapon. wxWidgets supports C++, Python, Perl, C#, and
many more languages. You can choose C++ for highly optimized
applications, to Python, for a very dynamic code base. - Ever spot a Java app a mile away? The wxWidget application GUI integrate seamlessly into your desktop because it uses native GUI elements.
- Maturity. wxWidgets has come a long way and is a stable platform for development.
- Community. wxWidgets has a strong developer community writing code and willing to answer questions.
Compiling wxWidgets is not difficult. Here are instructions for compiling wxWidgets.
Windows
- Download and install Microsoft Visual C++ 2008 Express Edition.
- Download the latest wxWidgets stable release for Windows (under “wxMSW”). I prefer the zip archive over the installer version.
- Extract wxWidgets. For this example, I downloaded wxMSW-2.8.9.zip and extracted the “wxMSW-2.8.9″ directory to “c:\dev\libs” (directories I created). My wxWidgets path is “c:\dev\libs\wxMSW-2.8.9\” . Yours may be different; adjust accordingly.
- Open “wxMSW-2.8.9\build\msw\wx.dsw” . This should bring up Visual C++.
- Choose one of the DLL build configurations under “Solution Configurations” in the toolbar. (Do not choose a “Universal” configuration, as this configuration is limited and does not use native widgets.)
I prefer to use the “DLL Unicode Debug” and “DLL Unicode Release” builds. wxWidgets 3 (The Next Generation) may only support Unicode builds, and not ANSI.
Furthermore, if you are contemplating using wxWidgets for a proprietary or closed source project, the LGPL license does not permit you to statically link your project. However, you may use dynamic linking via DLL’s.
- Right click on each project in the “Solution Explorer” and choose “Build”.
Projects must be built in the following order:
jpeg
png
tiff
zlib
regex
expat
base
net
odbc
core
gl
html
media
qa
adv
dbgrid*
xrc
aui
richtext*If dbgrid fails to build, make sure “dbgrid” is selected in Solution Explorer. Go to the “Project” menu / “Properties” / “Configuration Properties” / “Linker” / “Input”. Under “Additional Dependencies”, delete the entry “..\..\lib\vc_dll\wxbase28ud_odbc.lib”. Attempt to build dbgrid again.
- Go to the “Start” menu / “Control Panel” / “System” / “Advanced tab” / “Environment Variables” button.
Click on “New” and under “Variable name:” enter “wxwin”.
Under “Variable value:” enter “c:\dev\libs\wxMSW-2.8.9″ or the path to your wxWidgets base directory. Click on “OK”. - If all has gone well, wxWidgets is fully compiled and ready for use. The following are important variables to feed into your compiler for your own apps:
Additional Include Directories: “($wxwin)\include” “($wxwin)\lib\vc_dll\mswud”
Additional Library Dependencies: “($wxwin)\lib\vc_dll” - That’s it! Open the sample applications and compile them.
I have been looking looking around for this kind of information. Will you post some more in future? I’ll be grateful if you will.