Search this site

Saturday, September 10, 2011

How to using wxWidgets in code::blocks

Because it is too long if it become one with "How to install wxWidgets in code::blocks" so I seperate them in two posting

Create a wxWidgets project in Code::Blocks

On the Code::Blocks Start Page, select "Create a new project"; alternatively, open the File menu, highlight "New" and select "Project..."
Select "wxWidgets project"
1.The first page is an introduction, which you can choose to skip in the future.
2.Select which version of wxWidgets you will be using. If you followed the instructions above, you should select "wxWidgets 2.8.x".
3.Set your project title and location.
4.Enter author details if you wish (not required).
5.Select options for automatic code and file generation.
6.Select wxWidgets' location. It's highly recommended that you use a global variable for this: enter "$(#wx)" (without quotes). If you haven't already defined this global variable, the global variables dialog will appear; for the base path, select your wxWidgets installation location. You don't need to fill in the other paths.
7.Select debug and/or release configurations for your project. The debug configuration at least is recommended.
8.Choose your wxWidgets build options. These must match the options used when you built wxWidgets! If you followed the directions above, select all three of the options under "wxWidgets Library Settings". If you are using wxPack: wxPack includes each version, so you may select whichever options you prefer. The other settings on this page are not related to the wxWidgets build options; you may use them or not as you prefer. In order to avoid using a debug wxWidgets build (as recommended), you must select "Configure Advanced options" and then leave "Use __WXDEBUG__ and Debug wxWidgets lib" unchecked on the next page.
9.Select additional libraries if required. You should not need to select any of these for normal usage.



Build and Run


Select "Build and run" (F9) to, well, build and run. If all goes well, your wxWidgets basic program should appear.

wxWidgets Build Options Explained

What do the BUILD, SHARED, MONOLITHIC, and UNICODE options mean?

BUILD
BUILD controls whether a debug version (BUILD=debug) or release version (BUILD=release) of wxWidgets itself is built. In the vast majority of cases you will only need a release version of wxWidgets, since you won't be interesting in debugging wxWidgets itself. You can still create debug builds of your own programs that link to a release build of wxWidgets.
-> A debug build of wxWidgets creates libraries with a "d" suffix -- for example, "libwxmsw28d.a"/"wxmsw28d_gcc_custom.dll".
-> A debug build of wxWidgets creates the folder "mswd" or "mswud" in the wxWidgets library output folder.
-> A release build of wxWidgets creates libraries without the "d" suffix -- for example, "libwxmsw28.a"/"wxmsw28_gcc_custom.dll".
-> A release build of wxWidgets creates the folder "msw" or "mswu" in the wxWidgets library output folder.

SHARED
SHARED controls whether a DLL (SHARED=1) or static (SHARED=0) version of wxWidgets is built. With a DLL build, compile times are faster and the executable size is smaller. The total size of a single executable plus the wxWidgets DLL is greater, but multiple executables can use the same DLL.
-> A DLL build of wxWidgets creates import libraries (such as libwxmsw28.a) and DLLs (such as wxmsw28_gcc_custom.dll). You must include the DLL when you distribute your program.
-> A static build of wxWidgets creates static libraries only (such as libwxmsw28.a), and you do not need to distribute a wxWidgets DLL.

MONOLITHIC
MONOLITHIC controls whether a single library (MONOLITHIC=1) or multiple component libraries (MONOLITHIC=0) are built. With a monolithic build, project setup and development are much easier, and you only have one DLL to distribute if you're using a DLL build. With a non-monolithic (multilib) build, several different libraries are built and you can avoid linking with the entire wxWidgets codebase for programs that don't need it. You do have to ensure that you choose the correct component libraries.
-> A monolithic build of wxWidgets creates a single wxWidgets import library (such as libwxmsw28.a) and a single DLL (such as wxmsw28_gcc_custom.dll).
-> A multilib build of wxWidgets creates multiple import libraries (libwx28_base.a, etc.) and multiple DLLs.
-> Additional static libraries are always created with any wxWidgets build (libwxexpat.a, libwxjpeg.a, etc.). These libraries do not normally need to be used with DLL builds of wxWidgets, but they are required when using static builds.

UNICODE
UNICODE controls whether wxWidgets and your program use wide-character strings with Unicode support. Most programs for Windows 2000 and later should do so. Earlier versions of Windows don't have the necessary Unicode support. You should always use wxWidget's _("string") and _T("string") macros to ensure that your hardcoded strings are the correct type.
-> A Unicode (UNICODE=1) build of wxWidgets creates libraries with a "u" suffix -- for example, "libwxmsw28u.a"/"wxmsw28u_gcc_custom.dll".
-> A Unicode build of wxWidgets creates the folder "mswu" or "mswud" in the wxWidgets library output folder.
-> An ANSI (UNICODE=0) build of wxWidgets creates libraries without the "u" suffix -- for example, "libwxmsw28.a"/"wxmsw28_gcc_custom.dll".
-> An ANSI build of wxWidgets creates the folder "msw" or "mswd" in the wxWidgets library output folder.


source : http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef

No comments:

Post a Comment