<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MortenMacFly</id>
	<title>Code::Blocks - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MortenMacFly"/>
	<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php/Special:Contributions/MortenMacFly"/>
	<updated>2026-04-20T22:24:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Linux&amp;diff=9761</id>
		<title>Installing Code::Blocks from source on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Linux&amp;diff=9761"/>
		<updated>2023-07-08T05:20:53Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: Spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installing Code::Blocks]]&lt;br /&gt;
[[Category:Installing Code::Blocks from source]]&lt;br /&gt;
These are instructions on how to build Code::Blocks under Linux. These instructions should work for all Linux distros, as we'll be installing from sources.&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
&lt;br /&gt;
In order to successfully compile Code::Blocks, the [http://en.wikipedia.org/wiki/WxWidgets wxWidgets] User Interface library &amp;lt;u&amp;gt;must be installed&amp;lt;/u&amp;gt;. For most Linux users, this is maybe the only dependency not already installed. wxWidget can be used directly on top of the X server, in this case the variant of the wxWidget library is called wxX11. However this library [http://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits#Why_You_Shouldn.27t_Use_wxWidgets is sub-par compared to other toolkits and unstable]. Hence Code::Blocks uses wxGTK, the version of wxWidget based on GTK+. The exact requirement is libwxGTK-2.8.0 or later (2.8.3 is not recommended because of some troubles). This creates an additional dependency on GTK+, consider the following:&lt;br /&gt;
&lt;br /&gt;
A possible implementation which does not exist: &lt;br /&gt;
&lt;br /&gt;
''Code::Blocks  -&amp;gt;  wxWidgets (libwxX11)  -&amp;gt;  X''&lt;br /&gt;
&lt;br /&gt;
Current Code::Blocks implementation: &lt;br /&gt;
&lt;br /&gt;
''Code::Blocks  -&amp;gt;  '''wxWidgets (&amp;gt; libwxGTK2.8)'''  -&amp;gt;  '''GTK+ (&amp;gt; libgtk-x11-2.0)'''  -&amp;gt;  X''&lt;br /&gt;
&lt;br /&gt;
This document helps you to install libwxGTK if necessary but does not cover the installation of GTK+. GTK+ is probably installed on your Linux anyway, so don't worry ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Note:'' All the instructions below, assume an existing directory named &amp;lt;tt&amp;gt;~/devel&amp;lt;/tt&amp;gt;. If you 'll be using a different one, adjust the path to match.&lt;br /&gt;
As a first step create this directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir ~/devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checking the presence of GTK+ library ===&lt;br /&gt;
&lt;br /&gt;
Have a look in /usr/lib ( /usr/lib/x86_64-linux-gnu for 64 bits) for something like &amp;quot;libgtk-x11-2.0.so&amp;quot; (Note the library must be 2.0 minimum). Alternatively, do a search with your package manager or go to your Linux distribution forum for help. If you don't want to loose time, you can even forget this check since there is a good probability that everything is already installed.&lt;br /&gt;
&lt;br /&gt;
===Library wxGTK installation===&lt;br /&gt;
&lt;br /&gt;
==== Checking the presence of libwxGTK library ====&lt;br /&gt;
&lt;br /&gt;
In your package manager, look for 'libwxgtk' keyword and verify that '''all''' libwxgtk2.8 stuffs are installed. If you find the libraries uninstalled, just '''install them and go directly to [https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Linux#Code::Blocks_installation Code::Blocks installation]'''.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can do the same in the command line (the following is an example, there may be more than two packages):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ ls /usr/lib/libwx_gtk* //to verify the presence&lt;br /&gt;
$ sudo apt-get install libwxgtk2.8-dev&lt;br /&gt;
$ sudo apt-get install libwxgtk2.8-0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don't find any packages you must install the library from source as described below, and you can redo this check afterwards to verify that the installation worked correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Note for Debian and Ubuntu users:'' You can use &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ update-alternatives --config wx-config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to see which version of libwx is there or not and currently active.&lt;br /&gt;
&lt;br /&gt;
And, Debian and Ubuntu user can use this to add a value to the list of choices&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ update-alternatives --install /usr/bin/wx-config wx-config /opt/wx/2.8/bin/wx-config 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Getting wxGTK sources====&lt;br /&gt;
&lt;br /&gt;
Visit the [http://www.wxwidgets.org wxWidgets web site]. Click the &amp;quot;Download&amp;quot; button at the top of the page. Under wxWidgets 2.8.7 downloads, select wxGTK. Save the file in &amp;lt;tt&amp;gt;~/devel&amp;lt;/tt&amp;gt;. After the download finishes, switch to &amp;lt;tt&amp;gt;~/devel&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd ~/devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, untar the wxGTK sources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;tar zxf wxGTK-2.8.7.tar.gz&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Switch to the wxGTK directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd wxGTK-2.8.7&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Building wxWidgets====&lt;br /&gt;
&lt;br /&gt;
Here we will create a separate build directory instead of building from the src directory, so that we can easily rebuild with different options (unicode / ansi, monolithic / many libs, etc).&lt;br /&gt;
&lt;br /&gt;
The documentation says the default is for gtk2 to use unicode and wx &amp;gt; 2.5 to build as a monolithic library.  This doesn't appear to be the case, so these flags are passed to configure:&lt;br /&gt;
&lt;br /&gt;
 mkdir build_gtk2_shared_monolithic_unicode&lt;br /&gt;
 cd build_gtk2_shared_monolithic_unicode&lt;br /&gt;
 ../configure --prefix=/opt/wx/2.8 \&lt;br /&gt;
        --enable-xrc \&lt;br /&gt;
        --enable-monolithic \&lt;br /&gt;
        --enable-unicode&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Add /opt/wx/2.8/bin to the PATH (if your shell is bash then edit /etc/profile or ~/.bash_profile)&lt;br /&gt;
(On ''Suse 10.1'' edit /etc/profile.local, it will only be available after a new login). An example PATH:&lt;br /&gt;
 export PATH=/usr/bin:/opt/wx/2.8/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
Add /opt/wx/2.8/lib to /etc/ld.so.conf (nano /etc/ld.so.conf), then run:&lt;br /&gt;
 ldconfig&lt;br /&gt;
 source /etc/profile&lt;br /&gt;
&lt;br /&gt;
That's it.  Now the linker will look in /opt/wx/2.8/lib for wx libraries and you will have a monolithic shared library unicode build.&lt;br /&gt;
&lt;br /&gt;
To check that things are working, type:&lt;br /&gt;
 wx-config --prefix&lt;br /&gt;
which should give you /opt/wx/2.8&lt;br /&gt;
 wx-config --libs&lt;br /&gt;
which should have at least:&lt;br /&gt;
 -L/opt/wx/2.8/lib -lwx_gtk2-2.8&lt;br /&gt;
but can contain other flags as well.&lt;br /&gt;
 which wx-config&lt;br /&gt;
should return /opt/wx/2.8/bin/wx-config&lt;br /&gt;
&lt;br /&gt;
===Code::Blocks installation===&lt;br /&gt;
&lt;br /&gt;
====Getting Code::Blocks sources====&lt;br /&gt;
&lt;br /&gt;
You can get Code::Blocks source code [https://www.codeblocks.org/downloads/25 from the website as a tarball] or from the [https://www.codeblocks.org/downloads/7 SVN repository] (this second method is described below).&lt;br /&gt;
&lt;br /&gt;
=====From SVN repository=====&lt;br /&gt;
NOTICE: The SourceForge CVS is no longer used although it still exists.&lt;br /&gt;
&lt;br /&gt;
Enter your development directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd ~/devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then checkout the source using one of [https://www.codeblocks.org/downloads/7 these] methods. This will create the directory &amp;lt;tt&amp;gt;trunk&amp;lt;/tt&amp;gt;. Change to the source code directory, by issuing the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd trunk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are a ''Gentoo'' user at this point, please see [[Compiling_Code::Blocks_in_Gentoo]].&lt;br /&gt;
&lt;br /&gt;
Before beginning, it is often a good idea to check you have recent versions of autoconf and automake - repositories versions are not always recent enough. (if you do not have automake, then you will get &amp;quot;cannot find aclocal&amp;quot; error). If you're compiling the svn trunk versions of CodeBlocks (or future versions) then the unix build has switched to autotools. So first build wxWidgets as described above and then build CodeBlocks. In short, these commands build Code::Blocks from sources ''and'' installs it:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./bootstrap&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The long story is as follows: First run:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./bootstrap&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sets up the configure script and its dependencies. It only needs to be run once (after downloading the source from svn).&lt;br /&gt;
&lt;br /&gt;
'''If you get errors like (...):'''&lt;br /&gt;
 ./bootstrap: libtoolize: not found&lt;br /&gt;
...then install the &amp;quot;libtool&amp;quot; package using your package manager.&lt;br /&gt;
&lt;br /&gt;
 ./bootstrap: 64: ./bootstrap: aclocal: not found&lt;br /&gt;
...then the &amp;quot;autoconf&amp;quot; and &amp;quot;automake&amp;quot; package using your package manager.&lt;br /&gt;
&lt;br /&gt;
 bad interpreter: File not found&lt;br /&gt;
...then there exists a problem with DOS line-endings, for example if you cross compile to a Windows partition. Simply check-out a fresh copy of CodeBlocks from SVN.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Or, instead of downloading from SVN, you might consider using the little command line tool [http://dos2unix.sourceforge.net/ dos2unix], which normally comes with most distributions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  (&amp;quot;.infig.status: error: cannot find input file: Makefile&amp;quot;)&lt;br /&gt;
...(configure aborts with some unspecific error messagelike that), then you might consider also running dos2unix bootstrap acinclude.m4 codeblocks.pc.in configure.in Makefile.am before running bootstrap. Once you've run the bootstrap script, jump to next step.&lt;br /&gt;
&lt;br /&gt;
 aclocal:configure.in:61: warning: macro `AM_OPTIONS_WXCONFIG' not found in library&lt;br /&gt;
...then aclocal is having trouble finding the wxWidgets .m4 files.  You can do one of two things:&lt;br /&gt;
To just get bootstrap to find the path this time do:&lt;br /&gt;
&amp;lt;pre&amp;gt;export ACLOCAL_FLAGS=&amp;quot;-I `wx-config --prefix`/share/aclocal&amp;quot;&amp;lt;/pre&amp;gt; &amp;lt;!--[[User:Jabber|Jabber]] 06:24, 2 August 2006 (EDT)--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the aclocal search path more permanently do:&lt;br /&gt;
 echo `wx-config --prefix`/share/aclocal &amp;gt;&amp;gt; /usr/share/aclocal/dirlist&lt;br /&gt;
Then aclocal will also search somewhere like /opt/wx/2.8/share/aclocal&lt;br /&gt;
&lt;br /&gt;
'''''Note for Ubuntu users:''''' The above is not the correct way to fix the AM_* errors. Rather, you only need to install the package named &amp;quot;wx-common&amp;quot; (Universe repository).&lt;br /&gt;
&lt;br /&gt;
 The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'&lt;br /&gt;
...then this can be solved by something like:&lt;br /&gt;
 ACLOCAL_FLAGS=&amp;quot;-I /usr/share/aclocal&amp;quot; ./bootstrap&lt;br /&gt;
(...maybe adopting the path, so use `wx-config --prefix` is necessary.)&lt;br /&gt;
&lt;br /&gt;
====Installing Code::Blocks sources====&lt;br /&gt;
You can read the BUILD file included in the source, but everything is very straightforward. Do:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to run make install with super user rights, in that case use:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
...for the last step.&lt;br /&gt;
&lt;br /&gt;
If you have multiple versions of wxWidgets installed or kept them in place, you can use:&lt;br /&gt;
 ./configure --with-wx-config=/path/to/wx-config&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The Nassi Shneiderman plugin (part of the contrib plugins) has a dependency on [http://www.boost.org boost] which is needed to compile this plugin. Boost does not need to be compiled therefore. It is not checked for the existing of boost at the moment (except for debian build-system, there it is a build-dependency), so if you configure C::B to be build without Nassi Schneiderman, it should not lead to problems in case you don't have/want boost.&lt;br /&gt;
&lt;br /&gt;
To uninstall you can later run:&lt;br /&gt;
 make uninstall&lt;br /&gt;
&lt;br /&gt;
If you want to recompile everything, first run:&lt;br /&gt;
&amp;lt;pre&amp;gt; make clean&lt;br /&gt;
 make distclean&lt;br /&gt;
 make clean-bin&lt;br /&gt;
 make clean-zipfiles&amp;lt;/pre&amp;gt;&lt;br /&gt;
and then follow the above sequence for installing.&lt;br /&gt;
&lt;br /&gt;
By default, CodeBlocks will install to /usr/local.  If you want it in its own tree (so you can have multiple versions of CodeBlocks, each in its own subdirectory of /opt) replace the above ./configure command with:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./configure --prefix=/opt/codeblocks-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
or similar.  Then you can later install a different build like:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./configure --prefix=/opt/codeblocks2-svn&amp;lt;/pre&amp;gt;&lt;br /&gt;
followed by 'make &amp;amp;&amp;amp; make install' as usual.&lt;br /&gt;
&lt;br /&gt;
By default, CodeBlocks will not compile the contributed plugins from SVN.  If you want to compile / install them too, replace the above ./configure command with:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./configure --with-contrib-plugins=all&amp;lt;/pre&amp;gt;&lt;br /&gt;
followed by 'make &amp;amp;&amp;amp; make install' as usual.&lt;br /&gt;
&lt;br /&gt;
To see a list of other options available for configuring the build of CodeBlocks do:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./configure --help&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To compile under ''Gentoo'', use:&lt;br /&gt;
&amp;lt;pre&amp;gt; ./configure --with-wx-config=wx-config-2.8&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Resolving runtime issues====&lt;br /&gt;
&lt;br /&gt;
When running Code::Blocks after the installation it might happen, that the system complains:&lt;br /&gt;
 codeblocks: error while loading shared libraries: libcodeblocks.so.0: cannot open shared object file: No such file or directory&lt;br /&gt;
In that case make sure the library path where the Code::Blocks libraries where installed into is &amp;quot;known&amp;quot; to the system. For example: On Ubuntu using a default build process on a clean system will install the Code::Blocks executables to /use/local/bin and the libraries to /usr/local/lib. The latter is usually not known to a &amp;quot;clean&amp;quot; Ubuntu system. To add it to the search path for libraries do the following (as root / using sudo respectively):&lt;br /&gt;
Add the following line to the file /etc/ld.so.conf:&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
...and run:&lt;br /&gt;
 ldconfig&lt;br /&gt;
That's it - Code::Blocks should now work just fine as all libraries are being found.&lt;br /&gt;
&lt;br /&gt;
Note that for both you may need super user rights again - so use the sudo command as needed.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Creating_a_patch_to_submit_(Patch_Tracker)&amp;diff=9606</id>
		<title>Creating a patch to submit (Patch Tracker)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Creating_a_patch_to_submit_(Patch_Tracker)&amp;diff=9606"/>
		<updated>2022-08-19T06:09:01Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Patch submission */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
You want to contribute to Code::Blocks? - Thank you! That is really appreciated. Hence you can help us even more if you read the following paragraphs carefully.&lt;br /&gt;
&lt;br /&gt;
First of all please make sure the feature you are implementing is not already implemented in the &amp;quot;nightly builds&amp;quot; of Code::Blocks ([/index.php/board,20.0.html /index.php/board,20.0.html]). Furthermore browse through the list of available patches at the Code::Blocks project page at SourceForge (see section &amp;quot;Patch submission&amp;quot; below on how to gain access). If you are unsure, don't hesitate to ask in the forum ([ ]) for advise.&lt;br /&gt;
&lt;br /&gt;
You can make it easier for the developers to integrate your patches if you follow the advices of this page. Patches can be created in different formats. The format that is used by Code::Blocks is called a &amp;quot;unified diff&amp;quot;. Hence 3rd party tools may still create a different patch format although it may be labelled as &amp;quot;unified diff&amp;quot;. To avoid unnecessary incompatibilities the best way to provide a patch is to '''use the Subversion (SVN) diff''' (using the command line tool or a SVN GUI application).&lt;br /&gt;
&lt;br /&gt;
== What is required? ==&lt;br /&gt;
Not too much, you might already have the required tools installed.&lt;br /&gt;
You'll need a subversion client software. You can download a current version for your OS at the Subversion project webpage here: [http://subversion.tigris.org http://subversion.tigris.org]. If you want to apply or test your patches you'll also need either '''svn''' version ≥ 1.7.0 or the '''patch''' program; you can download patch and find more information about it at the [http://www.gnu.org/software/patch/ GNU patch website]. &lt;br /&gt;
&lt;br /&gt;
It is a good idea to apply your code to the most up-to-date sources of Code::Blocks as they are available at the SVN repository. You'll find the instructions how to obtain the sources here: [https://www.codeblocks.org/downloads/7 https://www.codeblocks.org/downloads/7]. Once you've created your local sandbox you can start integrating your changes into it. Thus you may modify existing files or add new ones. When you have finished please make sure you've verified your implementation (feature(s)) work properly. Now it's time to create the patch.&lt;br /&gt;
&lt;br /&gt;
== Patch creation ==&lt;br /&gt;
If you have added new files you first have to register them with your sandbox. Thus go into the directory you've added new files and type at the command line:&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn add filename(s)&amp;lt;/tt&amp;gt;&lt;br /&gt;
...whereas &amp;quot;filename(s)&amp;quot; needs to be replaced with the files you've added. Of course if you are not using the command line version of SVN you can easily use the &amp;quot;Add&amp;quot; feature of your prefered SVN GUI. If you've completed adding all your new files to your sandbox you are ready to create the patch.&lt;br /&gt;
&lt;br /&gt;
First of all go to the top-level directory of your sandbox (the first directory that has a hidden &amp;quot;.svn&amp;quot; folder with content). This is done because the patch file generated by the following command is relative to the directory where it's performed. This is the command to create the patch file:&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn diff &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can change the name of the patch (''my.patch'' in the example) with a more descriptive name but make sure you leave the file extension &amp;quot;.patch&amp;quot; as this avoids conflicts while submitting the patch. The creation of the ''difference file'' (the patch file) may take some time, please be patient.&lt;br /&gt;
&lt;br /&gt;
Once the patch file is created please make sure it contains content! Otherwise make sure you followed the steps above or ask in the forum ([https://forums.codeblocks.org/index.php/board,7.0.html&amp;lt;nowiki&amp;gt;]) for support.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note: if the created patch is much larger than expected (it should be similar in size to the amount of code you changed/added) it is likely that extraneous white space changes are being picked up. In this case, please use the following command to create the patch file:''&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn diff -x -w &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are using git or git-svn and sending to someone with an svn setup, the output can be more easily handled with either [https://forums.codeblocks.org/index.php/topic,19391.msg132530.html#msg132530&amp;lt;nowiki&amp;gt;] or one of&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;git diff --no-prefix &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn patch my.patch --strip 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Patch application and testing ===&lt;br /&gt;
Most Subversion front-end UI tools (like TortoiseSVN or SmartSVN) have an option to apply this patch files directly.&lt;br /&gt;
&lt;br /&gt;
If you are using svn version ≥ 1.7.0, the command:&lt;br /&gt;
:&amp;lt;tt&amp;gt;svn patch my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...will perform some checks and then will patch your files using the difference information saved in the patch file (''my.patch'' in the example).&lt;br /&gt;
&lt;br /&gt;
If you only need the command line without SVN tooling (why would you do so?), then in order to apply a patch you need the patch program ([http://gnuwin32.sourceforge.net/packages/patch.htm Windows] [http://savannah.gnu.org/projects/patch/ Linux]). Make sure you are in the same directory the patch was created and then type the following command:&lt;br /&gt;
: &amp;lt;tt&amp;gt;patch --unified --strip=0 --forward --input=my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Important note:''' If you are working under Windows you may have to convert the patch file to DOS line-ending format. You can do that using &amp;quot;unix2dos my.patch&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Patch submission ==&lt;br /&gt;
By now you are ready to submit your work to the Patch Tracker at [https://sourceforge.net/p/codeblocks/tickets/?source=navbar Tickets] - the developer platform for Code::Blocks. If you haven't done so already, you need to register with Sourceforge to gain the right to submit patches to projects. The membership is free and appreciated. Select the &amp;quot;Tickets&amp;quot; section ([https://sourceforge.net/p/codeblocks/tickets/?source=navbar Tickets]) of the Code::Blocks project page. Click on &amp;quot;Submit A Patch&amp;quot; and fill out the form that appears. For now you only need to select a category for your patch, a '''descriptive''' summary and the patch itself. Make sure you enable the checkbox &amp;quot;Upload Patch&amp;quot; and provide the patch file you've just created. Then you are ready for submission - click on the &amp;quot;Submit patch&amp;quot; button on the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
You should now see the current list of patches with your patch at the top. Please note you can add additional comments or updates to your patch by simply clicking on the patch in the list and fill out the form that appears.&lt;br /&gt;
&lt;br /&gt;
'''Thank you very much for your submission!'''&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Creating_a_patch_to_submit_(Patch_Tracker)&amp;diff=9605</id>
		<title>Creating a patch to submit (Patch Tracker)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Creating_a_patch_to_submit_(Patch_Tracker)&amp;diff=9605"/>
		<updated>2022-08-19T06:07:39Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Patch creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
You want to contribute to Code::Blocks? - Thank you! That is really appreciated. Hence you can help us even more if you read the following paragraphs carefully.&lt;br /&gt;
&lt;br /&gt;
First of all please make sure the feature you are implementing is not already implemented in the &amp;quot;nightly builds&amp;quot; of Code::Blocks ([/index.php/board,20.0.html /index.php/board,20.0.html]). Furthermore browse through the list of available patches at the Code::Blocks project page at SourceForge (see section &amp;quot;Patch submission&amp;quot; below on how to gain access). If you are unsure, don't hesitate to ask in the forum ([ ]) for advise.&lt;br /&gt;
&lt;br /&gt;
You can make it easier for the developers to integrate your patches if you follow the advices of this page. Patches can be created in different formats. The format that is used by Code::Blocks is called a &amp;quot;unified diff&amp;quot;. Hence 3rd party tools may still create a different patch format although it may be labelled as &amp;quot;unified diff&amp;quot;. To avoid unnecessary incompatibilities the best way to provide a patch is to '''use the Subversion (SVN) diff''' (using the command line tool or a SVN GUI application).&lt;br /&gt;
&lt;br /&gt;
== What is required? ==&lt;br /&gt;
Not too much, you might already have the required tools installed.&lt;br /&gt;
You'll need a subversion client software. You can download a current version for your OS at the Subversion project webpage here: [http://subversion.tigris.org http://subversion.tigris.org]. If you want to apply or test your patches you'll also need either '''svn''' version ≥ 1.7.0 or the '''patch''' program; you can download patch and find more information about it at the [http://www.gnu.org/software/patch/ GNU patch website]. &lt;br /&gt;
&lt;br /&gt;
It is a good idea to apply your code to the most up-to-date sources of Code::Blocks as they are available at the SVN repository. You'll find the instructions how to obtain the sources here: [https://www.codeblocks.org/downloads/7 https://www.codeblocks.org/downloads/7]. Once you've created your local sandbox you can start integrating your changes into it. Thus you may modify existing files or add new ones. When you have finished please make sure you've verified your implementation (feature(s)) work properly. Now it's time to create the patch.&lt;br /&gt;
&lt;br /&gt;
== Patch creation ==&lt;br /&gt;
If you have added new files you first have to register them with your sandbox. Thus go into the directory you've added new files and type at the command line:&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn add filename(s)&amp;lt;/tt&amp;gt;&lt;br /&gt;
...whereas &amp;quot;filename(s)&amp;quot; needs to be replaced with the files you've added. Of course if you are not using the command line version of SVN you can easily use the &amp;quot;Add&amp;quot; feature of your prefered SVN GUI. If you've completed adding all your new files to your sandbox you are ready to create the patch.&lt;br /&gt;
&lt;br /&gt;
First of all go to the top-level directory of your sandbox (the first directory that has a hidden &amp;quot;.svn&amp;quot; folder with content). This is done because the patch file generated by the following command is relative to the directory where it's performed. This is the command to create the patch file:&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn diff &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can change the name of the patch (''my.patch'' in the example) with a more descriptive name but make sure you leave the file extension &amp;quot;.patch&amp;quot; as this avoids conflicts while submitting the patch. The creation of the ''difference file'' (the patch file) may take some time, please be patient.&lt;br /&gt;
&lt;br /&gt;
Once the patch file is created please make sure it contains content! Otherwise make sure you followed the steps above or ask in the forum ([https://forums.codeblocks.org/index.php/board,7.0.html&amp;lt;nowiki&amp;gt;]) for support.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note: if the created patch is much larger than expected (it should be similar in size to the amount of code you changed/added) it is likely that extraneous white space changes are being picked up. In this case, please use the following command to create the patch file:''&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn diff -x -w &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are using git or git-svn and sending to someone with an svn setup, the output can be more easily handled with either [https://forums.codeblocks.org/index.php/topic,19391.msg132530.html#msg132530&amp;lt;nowiki&amp;gt;] or one of&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;git diff --no-prefix &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn patch my.patch --strip 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Patch application and testing ===&lt;br /&gt;
Most Subversion front-end UI tools (like TortoiseSVN or SmartSVN) have an option to apply this patch files directly.&lt;br /&gt;
&lt;br /&gt;
If you are using svn version ≥ 1.7.0, the command:&lt;br /&gt;
:&amp;lt;tt&amp;gt;svn patch my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...will perform some checks and then will patch your files using the difference information saved in the patch file (''my.patch'' in the example).&lt;br /&gt;
&lt;br /&gt;
If you only need the command line without SVN tooling (why would you do so?), then in order to apply a patch you need the patch program ([http://gnuwin32.sourceforge.net/packages/patch.htm Windows] [http://savannah.gnu.org/projects/patch/ Linux]). Make sure you are in the same directory the patch was created and then type the following command:&lt;br /&gt;
: &amp;lt;tt&amp;gt;patch --unified --strip=0 --forward --input=my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Important note:''' If you are working under Windows you may have to convert the patch file to DOS line-ending format. You can do that using &amp;quot;unix2dos my.patch&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Patch submission ==&lt;br /&gt;
By now you are ready to submit your work to the Patch Tracker at [https://sourceforge.net/p/codeblocks/tickets/?source=navbar Tickets] - the developer platform for Code::Blocks. If you haven't done so already, you need to register with Sourceforge to gain the right to submit patches to projects. The membership is free and appreciated. Select the &amp;quot;Tickests&amp;quot; section ([https://sourceforge.net/p/codeblocks/tickets/?source=navbar Tickets]) of the Code::Blocks project page. Click on &amp;quot;Submit A Patch&amp;quot; and fill out the form that appears. For now you only need to select a category for your patch, a '''descriptive''' summary and the patch itself. Make sure you enable the checkbox &amp;quot;Upload Patch&amp;quot; and provide the patch file you've just created. Then you are ready for submission - click on the &amp;quot;Submit patch&amp;quot; button on the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
You should now see the current list of patches with your patch at the top. Please note you can add additional comments or updates to your patch by simply clicking on the patch in the list and fill out the form that appears.&lt;br /&gt;
&lt;br /&gt;
'''Thank you very much for your submission!'''&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Creating_a_patch_to_submit_(Patch_Tracker)&amp;diff=9604</id>
		<title>Creating a patch to submit (Patch Tracker)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Creating_a_patch_to_submit_(Patch_Tracker)&amp;diff=9604"/>
		<updated>2022-08-19T06:05:30Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: Updated Instrcutions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
You want to contribute to Code::Blocks? - Thank you! That is really appreciated. Hence you can help us even more if you read the following paragraphs carefully.&lt;br /&gt;
&lt;br /&gt;
First of all please make sure the feature you are implementing is not already implemented in the &amp;quot;nightly builds&amp;quot; of Code::Blocks ([/index.php/board,20.0.html /index.php/board,20.0.html]). Furthermore browse through the list of available patches at the Code::Blocks project page at SourceForge (see section &amp;quot;Patch submission&amp;quot; below on how to gain access). If you are unsure, don't hesitate to ask in the forum ([ ]) for advise.&lt;br /&gt;
&lt;br /&gt;
You can make it easier for the developers to integrate your patches if you follow the advices of this page. Patches can be created in different formats. The format that is used by Code::Blocks is called a &amp;quot;unified diff&amp;quot;. Hence 3rd party tools may still create a different patch format although it may be labelled as &amp;quot;unified diff&amp;quot;. To avoid unnecessary incompatibilities the best way to provide a patch is to '''use the Subversion (SVN) diff''' (using the command line tool or a SVN GUI application).&lt;br /&gt;
&lt;br /&gt;
== What is required? ==&lt;br /&gt;
Not too much, you might already have the required tools installed.&lt;br /&gt;
You'll need a subversion client software. You can download a current version for your OS at the Subversion project webpage here: [http://subversion.tigris.org http://subversion.tigris.org]. If you want to apply or test your patches you'll also need either '''svn''' version ≥ 1.7.0 or the '''patch''' program; you can download patch and find more information about it at the [http://www.gnu.org/software/patch/ GNU patch website]. &lt;br /&gt;
&lt;br /&gt;
It is a good idea to apply your code to the most up-to-date sources of Code::Blocks as they are available at the SVN repository. You'll find the instructions how to obtain the sources here: [https://www.codeblocks.org/downloads/7 https://www.codeblocks.org/downloads/7]. Once you've created your local sandbox you can start integrating your changes into it. Thus you may modify existing files or add new ones. When you have finished please make sure you've verified your implementation (feature(s)) work properly. Now it's time to create the patch.&lt;br /&gt;
&lt;br /&gt;
== Patch creation ==&lt;br /&gt;
If you have added new files you first have to register them with your sandbox. Thus go into the directory you've added new files and type at the command line:&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn add filename(s)&amp;lt;/tt&amp;gt;&lt;br /&gt;
...whereas &amp;quot;filename(s)&amp;quot; needs to be replaced with the files you've added. Of course if you are not using the command line version of SVN you can easily use the &amp;quot;Add&amp;quot; feature of your prefered SVN GUI. If you've completed adding all your new files to your sandbox you are ready to create the patch.&lt;br /&gt;
&lt;br /&gt;
First of all go to the top-level directory of your sandbox (the first directory that has a hidden &amp;quot;.svn&amp;quot; folder with content). This is done because the patch file generated by the following command is relative to the directory where it's performed. This is the command to create the patch file:&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn diff &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can change the name of the patch (''my.patch'' in the example) with a more descriptive name but make sure you leave the file extension &amp;quot;.patch&amp;quot; as this avoids conflicts while submitting the patch. The creation of the ''difference file'' (the patch file) may take some time, please be patient.&lt;br /&gt;
&lt;br /&gt;
Once the patch file is created please make sure it contains content! Otherwise make sure you followed the steps above or ask in the forum ([ ]) for support.&lt;br /&gt;
&lt;br /&gt;
''Note: if the created patch is much larger than expected (it should be similar in size to the amount of code you changed/added) it is likely that extraneous white space changes are being picked up. In this case, please use the following command to create the patch file:''&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn diff -x -w &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are using git or git-svn and sending to someone with an svn setup, the output can be more easily handled with either [/index.php/topic,19391.msg132530.html#msg132530 this script] or one of&lt;br /&gt;
: &amp;lt;tt&amp;gt;git diff --no-prefix &amp;gt; my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;svn patch my.patch --strip 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Patch application and testing ===&lt;br /&gt;
Most Subversion front-end UI tools (like TortoiseSVN or SmartSVN) have an option to apply this patch files directly.&lt;br /&gt;
&lt;br /&gt;
If you are using svn version ≥ 1.7.0, the command:&lt;br /&gt;
:&amp;lt;tt&amp;gt;svn patch my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...will perform some checks and then will patch your files using the difference information saved in the patch file (''my.patch'' in the example).&lt;br /&gt;
&lt;br /&gt;
If you only need the command line without SVN tooling (why would you do so?), then in order to apply a patch you need the patch program ([http://gnuwin32.sourceforge.net/packages/patch.htm Windows] [http://savannah.gnu.org/projects/patch/ Linux]). Make sure you are in the same directory the patch was created and then type the following command:&lt;br /&gt;
: &amp;lt;tt&amp;gt;patch --unified --strip=0 --forward --input=my.patch&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Important note:''' If you are working under Windows you may have to convert the patch file to DOS line-ending format. You can do that using &amp;quot;unix2dos my.patch&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Patch submission ==&lt;br /&gt;
By now you are ready to submit your work to the Patch Tracker at [https://sourceforge.net/p/codeblocks/tickets/?source=navbar Tickets] - the developer platform for Code::Blocks. If you haven't done so already, you need to register with Sourceforge to gain the right to submit patches to projects. The membership is free and appreciated. Select the &amp;quot;Tickests&amp;quot; section ([https://sourceforge.net/p/codeblocks/tickets/?source=navbar Tickets]) of the Code::Blocks project page. Click on &amp;quot;Submit A Patch&amp;quot; and fill out the form that appears. For now you only need to select a category for your patch, a '''descriptive''' summary and the patch itself. Make sure you enable the checkbox &amp;quot;Upload Patch&amp;quot; and provide the patch file you've just created. Then you are ready for submission - click on the &amp;quot;Submit patch&amp;quot; button on the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
You should now see the current list of patches with your patch at the top. Please note you can add additional comments or updates to your patch by simply clicking on the patch in the list and fill out the form that appears.&lt;br /&gt;
&lt;br /&gt;
'''Thank you very much for your submission!'''&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=9399</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=9399"/>
		<updated>2019-04-13T04:36:23Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: Reverted edits by MortenMacFly (talk) to last revision by Alpha&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
{{Layout_box1|1=&lt;br /&gt;
[[Image:cb_splash.png|left]]&lt;br /&gt;
'''Welcome to the official Wiki for Code::Blocks'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.codeblocks.org Code::Blocks] is a free, open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++/Fortran.&lt;br /&gt;
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; background-color=&amp;quot;transparent&amp;quot; &lt;br /&gt;
|width=&amp;quot;60%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- LEFT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Did you know that using Layout_box2 here instead of &amp;lt;div&amp;gt; breaks the inner table? Strange... --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #dfeefb; border: 1px dotted #010101; margin: 5px; padding: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;background:transparent&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
=== How do I... ===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_Code::Blocks|...install Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_the_latest_official_version_of_Code::Blocks_on_Windows|Windows]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Ubuntu|Ubuntu]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Mac_OS_X|Mac OS X]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Fedora|Fedora]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_a_supported_compiler|...set up a compiler in Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_a_supported_compiler#MinGW.2FGCC|MinGW]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler#Microsoft_Visual_C.2B.2B|MS Visual C++]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Creating a new project|...create a new project?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Creating a new project#Changing file composition|Add files]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Modifying build options|Build options]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Virtual Targets|Virtual Targets]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Debugging_with_Code::Blocks|...debug my program?]]'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|...make Code::Blocks portable?]]'''&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[User_documentation#Third-party_libraries|...use a 3rd-party library?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Using_wxWidgets|wxWidgets]] &amp;amp;middot;&lt;br /&gt;
[[Using_Boost|Boost]] &amp;amp;middot;&lt;br /&gt;
[[Using_SDL_with_Code::Blocks|SDL]] &amp;amp;middot;&lt;br /&gt;
[[User_documentation#Third-party_libraries|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;''Main article: [[Code::Blocks Documentation]]''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[User documentation]] ===&lt;br /&gt;
:Articles for Code::Blocks users&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] ===&lt;br /&gt;
:Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
=== [[Feature List]] ===&lt;br /&gt;
:An index of Code::Blocks' useful features&lt;br /&gt;
&lt;br /&gt;
=== [[Code::Blocks Plugins]] ===&lt;br /&gt;
:Plugins extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
=== [[Off-site documentation]] ===&lt;br /&gt;
:Links to external documentation&lt;br /&gt;
&lt;br /&gt;
=== [[Developer documentation]] ===&lt;br /&gt;
:Articles for developers of Code::Blocks itself&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;40%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- RIGHT --&amp;gt;&lt;br /&gt;
{{Layout_box4|1=&lt;br /&gt;
=== Download Code::Blocks ===&lt;br /&gt;
* Latest official release: [https://www.codeblocks.org/downloads/26 16.01]&lt;br /&gt;
* [/index.php?board=20.0 Nightly builds] (updated each night)&lt;br /&gt;
* [[Compiled_packages_of_Code::Blocks|Official and third-party binaries]] (for various distributions)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Other resources ===&lt;br /&gt;
* [https://www.codeblocks.org Main website]&lt;br /&gt;
* [ Community forums]&lt;br /&gt;
* [irc://irc.freenode.net/codeblocks IRC channel] and [http://webchat.freenode.net/?channels=codeblocks IRC channel web access]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Development ===&lt;br /&gt;
[[Image:Chk.png]][[Roadmap]] &lt;br /&gt;
* [[Developer documentation]]&lt;br /&gt;
* [http://sourceforge.net/projects/codeblocks/ Project page at Sourceforge]&lt;br /&gt;
* '''Bugs''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3ABug_Report+or+_type%3AUndefined bugs] or browse [http://alpha0010.github.io/cb-history/bugs.html old bugs]&lt;br /&gt;
* '''Features''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3AFeature_Request+or+_type%3AUndefined features] or browse [http://alpha0010.github.io/cb-history/features.html old features]&lt;br /&gt;
* '''Patches''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3APatch+or+_type%3AUndefined patches] or browse [http://alpha0010.github.io/cb-history/patches.html old patches]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
=== Supported compilers ===&lt;br /&gt;
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)&lt;br /&gt;
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)&lt;br /&gt;
* [http://mspgcc.sourceforge.net MSP430 GCC] (Win32)&lt;br /&gt;
* [http://www.hightec-rt.com TriCore and PowerPC GCC] (Win32, Linux)&lt;br /&gt;
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)&lt;br /&gt;
&amp;lt;!-- Tested and working with Microsoft PSDK for Windows 2003 R2 and CodeBlocks b3577 --&amp;gt;&lt;br /&gt;
* [http://xona.com/2004/06/29.html Microsoft Visual C++ Toolkit 2003] (Win32) &lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)&lt;br /&gt;
* [http://edn.embarcadero.com/article/20633 Borland's C++ Compiler 5.5] (Win32)&lt;br /&gt;
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)&lt;br /&gt;
* [http://openwatcom.org/index.php/Main_Page OpenWatcom] (Win32)&lt;br /&gt;
* [https://software.intel.com/en-us/c-compilers Intel C++ compiler] (Win32)&lt;br /&gt;
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]&lt;br /&gt;
* [http://dlang.org/ Digital Mars D]&lt;br /&gt;
* [http://dgcc.sourceforge.net/ GDC D Compiler]&lt;br /&gt;
* [https://github.com/ldc-developers/ldc/ LLVM D Compiler]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.codeblocks.org/about.shtml The Code::Blocks team]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Special:Allpages|Index]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=9379</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=9379"/>
		<updated>2017-12-30T18:53:11Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
{{Layout_box1|1=&lt;br /&gt;
[[Image:cb_splash.png|left]]&lt;br /&gt;
'''Welcome to the official Wiki for Code::Blocks'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.codeblocks.org Code::Blocks] is a free, open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++/Fortran.&lt;br /&gt;
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; background-color=&amp;quot;transparent&amp;quot; &lt;br /&gt;
|width=&amp;quot;60%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- LEFT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Did you know that using Layout_box2 here instead of &amp;lt;div&amp;gt; breaks the inner table? Strange... --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #dfeefb; border: 1px dotted #010101; margin: 5px; padding: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;background:transparent&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
=== How do I... ===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_Code::Blocks|...install Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_the_latest_official_version_of_Code::Blocks_on_Windows|Windows]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Ubuntu|Ubuntu]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Mac_OS_X|Mac OS X]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Fedora|Fedora]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_a_supported_compiler|...set up a compiler in Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_a_supported_compiler#MinGW.2FGCC|MinGW]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler#Microsoft_Visual_C.2B.2B|MS Visual C++]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Creating a new project|...create a new project?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Creating a new project#Changing file composition|Add files]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Modifying build options|Build options]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Virtual Targets|Virtual Targets]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Debugging_with_Code::Blocks|...debug my program?]]'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|...make Code::Blocks portable?]]'''&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[User_documentation#Third-party_libraries|...use a 3rd-party library?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Using_wxWidgets|wxWidgets]] &amp;amp;middot;&lt;br /&gt;
[[Using_Boost|Boost]] &amp;amp;middot;&lt;br /&gt;
[[Using_SDL_with_Code::Blocks|SDL]] &amp;amp;middot;&lt;br /&gt;
[[User_documentation#Third-party_libraries|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;''Main article: [[Code::Blocks Documentation]]''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[User documentation]] ===&lt;br /&gt;
:Articles for Code::Blocks users&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] ===&lt;br /&gt;
:Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
=== [[Feature List]] ===&lt;br /&gt;
:An index of Code::Blocks' useful features&lt;br /&gt;
&lt;br /&gt;
=== [[Code::Blocks Plugins]] ===&lt;br /&gt;
:Plugins extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
=== [[Off-site documentation]] ===&lt;br /&gt;
:Links to external documentation&lt;br /&gt;
&lt;br /&gt;
=== [[Developer documentation]] ===&lt;br /&gt;
:Articles for developers of Code::Blocks itself&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;40%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- RIGHT --&amp;gt;&lt;br /&gt;
{{Layout_box4|1=&lt;br /&gt;
=== Download Code::Blocks ===&lt;br /&gt;
* Latest official release: [https://www.codeblocks.org/downloads/26 17.12]&lt;br /&gt;
* [/index.php?board=20.0 Nightly builds] (updated each night)&lt;br /&gt;
* [[Compiled_packages_of_Code::Blocks|Official and third-party binaries]] (for various distributions)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Other resources ===&lt;br /&gt;
* [https://www.codeblocks.org Main website]&lt;br /&gt;
* [ Community forums]&lt;br /&gt;
* [irc://irc.freenode.net/codeblocks IRC channel] and [http://webchat.freenode.net/?channels=codeblocks IRC channel web access]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Development ===&lt;br /&gt;
[[Image:Chk.png]][[Roadmap]] &lt;br /&gt;
* [[Developer documentation]]&lt;br /&gt;
* [http://sourceforge.net/projects/codeblocks/ Project page at Sourceforge]&lt;br /&gt;
* '''Bugs''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3ABug_Report+or+_type%3AUndefined bugs] or browse [http://alpha0010.github.io/cb-history/bugs.html old bugs]&lt;br /&gt;
* '''Features''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3AFeature_Request+or+_type%3AUndefined features] or browse [http://alpha0010.github.io/cb-history/features.html old features]&lt;br /&gt;
* '''Patches''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3APatch+or+_type%3AUndefined patches] or browse [http://alpha0010.github.io/cb-history/patches.html old patches]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
=== Supported compilers ===&lt;br /&gt;
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)&lt;br /&gt;
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)&lt;br /&gt;
* [http://mspgcc.sourceforge.net MSP430 GCC] (Win32)&lt;br /&gt;
* [http://www.hightec-rt.com TriCore and PowerPC GCC] (Win32, Linux)&lt;br /&gt;
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)&lt;br /&gt;
&amp;lt;!-- Tested and working with Microsoft PSDK for Windows 2003 R2 and CodeBlocks b3577 --&amp;gt;&lt;br /&gt;
* [http://xona.com/2004/06/29.html Microsoft Visual C++ Toolkit 2003] (Win32) &lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)&lt;br /&gt;
* [http://edn.embarcadero.com/article/20633 Borland's C++ Compiler 5.5] (Win32)&lt;br /&gt;
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)&lt;br /&gt;
* [http://openwatcom.org/index.php/Main_Page OpenWatcom] (Win32)&lt;br /&gt;
* [https://software.intel.com/en-us/c-compilers Intel C++ compiler] (Win32)&lt;br /&gt;
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]&lt;br /&gt;
* [http://dlang.org/ Digital Mars D]&lt;br /&gt;
* [http://dgcc.sourceforge.net/ GDC D Compiler]&lt;br /&gt;
* [https://github.com/ldc-developers/ldc/ LLVM D Compiler]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.codeblocks.org/about.shtml The Code::Blocks team]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Special:Allpages|Index]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Creating_a_custom_lexer_for_Code::Blocks_editor&amp;diff=9274</id>
		<title>Creating a custom lexer for Code::Blocks editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Creating_a_custom_lexer_for_Code::Blocks_editor&amp;diff=9274"/>
		<updated>2017-02-19T19:02:50Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
Code::Blocks can provide syntax highlighting for any of the languages supported by Scintilla http://www.scintilla.org (the Rich Editing API used by C::B to provide syntax highlighting, code folding etc). Each language that C::B provides highlighting for has a C::B specific xml file found under &amp;lt;tt&amp;gt;sdk/resources/lexers&amp;lt;/tt&amp;gt; that specifies styles and keywords of the language (they're simple XML files with names of the form &amp;lt;tt&amp;gt;lexer_*.xml&amp;lt;/tt&amp;gt;). Adding a new language that is supported by Scintilla is as simple as adding an xml file for that language. At a minimum, the xml file must list the available set of styles for the lexical elements of a language and provide for keywords (the file will also specify a file containing sample code for editing and previewing lexer styles in Code::Blocks). Actual styles and keywords for each language can be edited by users within Code::Blocks under Settings-&amp;gt;Editors-&amp;gt;Syntax Highlighting allowing them view the results in a preview window (for the preview to display you will need to provide this sample code in a separate file also located in &amp;lt;tt&amp;gt;sdk/resources/lexers&amp;lt;/tt&amp;gt;). User customized styles and keywords are kept in the users &amp;lt;tt&amp;gt;default.conf&amp;lt;/tt&amp;gt; file (i.e. the xml file is never changed within codeblocks) allowing users to easily revert to the xml file.&lt;br /&gt;
&lt;br /&gt;
To illustrate how you might construct a new lexer xml file let's look at the pre-installed CPP lexer, whose styles and keywords are stored in &amp;lt;tt&amp;gt;lexer_cpp.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically this says &amp;quot;I am an XML file&amp;quot;. '''Very Important'''&lt;br /&gt;
&lt;br /&gt;
==DOCTYPE==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!DOCTYPE CodeBlocks_lexer_properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This needs to be in every lexer file. Code::Blocks '''will not''' load the lexer if this is not present.&lt;br /&gt;
&lt;br /&gt;
==Lexers==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Lexer name=&amp;quot;C/C++&amp;quot;&lt;br /&gt;
        index=&amp;quot;3&amp;quot;&lt;br /&gt;
        filemasks=&amp;quot;*.c,*.cpp,*.cc,*.cxx,*.h,*.hpp,*.hh,*.hxx,*.inl&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pretty much self explanatory, except for the &amp;quot;magic&amp;quot; ''index'' number (we'll come to it in a sec).&lt;br /&gt;
&lt;br /&gt;
* '''name''' is the lexer's configuration name. This will appear in the editor's configuration dialog, in the languages drop down box (in colors editing page).&lt;br /&gt;
&lt;br /&gt;
* '''filemasks''' is a comma separated list of the extensions that this lexer should be used for. This is case-insensitive.&lt;br /&gt;
&lt;br /&gt;
* '''index''' corresponds with the &amp;lt;tt&amp;gt;wxSCI_LEX_*&amp;lt;/tt&amp;gt; constants, found in [http://svn.berlios.de/wsvn/codeblocks/trunk/src/sdk/wxscintilla/include/wx/wxscintilla.h &amp;lt;tt&amp;gt;sdk/wxscintilla/include/wx/wxscintilla.h&amp;lt;/tt&amp;gt;]. In this example, if you look in &amp;lt;tt&amp;gt;sdk/wxscintilla/include/wx/wxscintilla.h&amp;lt;/tt&amp;gt;, you'll see that ''index 3'' matches &amp;lt;tt&amp;gt;wxSCI_LEX_CPP&amp;lt;/tt&amp;gt;. That is the ''lexer id'' for C/C++ syntax highlighting.&lt;br /&gt;
&lt;br /&gt;
If we were building a lexer configuration for let's say, XML (random choice) we would look up the constant &amp;lt;tt&amp;gt;wxSCI_LEX_XML&amp;lt;/tt&amp;gt; which is defined to be number ''5''. So ''index=5''. Simple.&lt;br /&gt;
&lt;br /&gt;
==Styles==&lt;br /&gt;
&lt;br /&gt;
Next follows many &amp;lt;tt&amp;gt;&amp;lt;Style&amp;gt;&amp;lt;/tt&amp;gt; tags defining the different styles:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Style name=&amp;quot;Default&amp;quot;&lt;br /&gt;
               index=&amp;quot;0&amp;quot;&lt;br /&gt;
               fg=&amp;quot;0,0,0&amp;quot;&lt;br /&gt;
               bg=&amp;quot;255,255,255&amp;quot;&lt;br /&gt;
               bold=&amp;quot;0&amp;quot;&lt;br /&gt;
               italics=&amp;quot;0&amp;quot;&lt;br /&gt;
               underlined=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''name''' is the style's name. It appears in the editor's configuration dialog, in the colors editing page.&lt;br /&gt;
&lt;br /&gt;
* '''fg''' is the foreground color. Comma separated list of three numbers from 0 to 255. In order: red, green and blue (RGB).&lt;br /&gt;
&lt;br /&gt;
* '''bg''' is the background color.&lt;br /&gt;
&lt;br /&gt;
* '''bold''' is &amp;lt;tt&amp;gt;&amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt; for disabled, &amp;lt;tt&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt; for enabled.&lt;br /&gt;
&lt;br /&gt;
* '''italics''' is &amp;lt;tt&amp;gt;&amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt; for disabled, &amp;lt;tt&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt; for enabled.&lt;br /&gt;
&lt;br /&gt;
* '''underlined''' is &amp;lt;tt&amp;gt;&amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt; for disabled, &amp;lt;tt&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt; for enabled.&lt;br /&gt;
&lt;br /&gt;
You don't have to define all of these attributes. It's good to define them all for the &amp;lt;tt&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/tt&amp;gt; style (all lexers have a default style), but only the attributes needed should be defined for the rest of the styles.&lt;br /&gt;
&lt;br /&gt;
* The '''index''' number in the &amp;lt;tt&amp;gt;&amp;lt;Style&amp;gt;&amp;lt;/tt&amp;gt; tags, comes from a different set of constants defined in &amp;lt;tt&amp;gt;sdk/wxscintilla/include/wx/wxscintilla.h&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
For each language supported by scintilla, there is a set of styles ''(lexical states)'' defined (these are what we're trying to configure with these files). &lt;br /&gt;
&lt;br /&gt;
For example, for C/C++ files (&amp;lt;tt&amp;gt;wxSCI_LEX_CPP&amp;lt;/tt&amp;gt;, remember?) the styles are defined as &amp;lt;tt&amp;gt;wxSCI_C_*&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;tt&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/tt&amp;gt; style shown above, this would be &amp;lt;tt&amp;gt;wxSCI_C_DEFAULT&amp;lt;/tt&amp;gt; which is defined to be ''0''. Hence ''index=0'' for &amp;lt;tt&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Style name=&amp;quot;Comment (normal)&amp;quot;&lt;br /&gt;
               index=&amp;quot;1,2&amp;quot;&lt;br /&gt;
               fg=&amp;quot;160,160,160&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the style definition for normal comments. As you can see you can define a single style for more than one style index, in this case two: ''1'' and ''2'' (always comma separated).&lt;br /&gt;
&lt;br /&gt;
''1'' is for &amp;lt;tt&amp;gt;wxSCI_C_COMMENT&amp;lt;/tt&amp;gt; (the C comment &amp;lt;tt&amp;gt;/* */&amp;lt;/tt&amp;gt;) and ''2'' is for &amp;lt;tt&amp;gt;wxSCI_C_COMMENTLINE&amp;lt;/tt&amp;gt; (the C++ comment to end of line &amp;lt;tt&amp;gt;// &amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some special styles defined by Code::Blocks and are available to all lexers:&lt;br /&gt;
&lt;br /&gt;
* '''index -99''' is the selected text style.&lt;br /&gt;
* '''index -98''' is the active line style (the line the caret is on).&lt;br /&gt;
* '''index -2''' is the breakpoint line style.&lt;br /&gt;
* '''index -3''' is the debugger active line style (while stepping the debugger).&lt;br /&gt;
* '''index -4''' is the compiler warning/error line style. ('''Note: this index was removed completely?''')&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
&lt;br /&gt;
Now on to the keywords.&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;Keywords&amp;gt;&lt;br /&gt;
               &amp;lt;Set index=&amp;quot;0&amp;quot;&lt;br /&gt;
                         value=&amp;quot;if int long try while and-so-on&amp;quot; /&amp;gt;&lt;br /&gt;
               &amp;lt;Set index=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
               &amp;lt;Set index=&amp;quot;2&amp;quot;&lt;br /&gt;
                              value=&amp;quot;param remarks return $ @ \ &amp;amp; &amp;lt; &amp;gt; # { } and-so-on&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Keywords&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are defining a lexer configuration for a language that has keywords they should be added in the &amp;lt;tt&amp;gt;&amp;lt;Keywords&amp;gt;&amp;lt;/tt&amp;gt; tag.&lt;br /&gt;
In the scintilla version used by Code::Blocks, you can setup up to 9 keyword sets (the &amp;quot;index&amp;quot; attribute). What each set does and which sets are used by a lexer, is defined by the lexer itself.&lt;br /&gt;
&lt;br /&gt;
If you open LexCPP.cxx (from the scintilla sources), you will find the following:&lt;br /&gt;
&lt;br /&gt;
 static const char * const cppWordLists[] = {&lt;br /&gt;
            &amp;quot;Primary keywords and identifiers&amp;quot;,&lt;br /&gt;
            &amp;quot;Secondary keywords and identifiers&amp;quot;,&lt;br /&gt;
            &amp;quot;Documentation comment keywords&amp;quot;,&lt;br /&gt;
            &amp;quot;Unused&amp;quot;,&lt;br /&gt;
            &amp;quot;Global classes and typedefs&amp;quot;,&lt;br /&gt;
            0,&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
This tells us which indices are valid and what each one represents:&lt;br /&gt;
&lt;br /&gt;
Index 0, &amp;quot;Primary keywords and identifiers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Index 1, &amp;quot;Secondary keywords and identifiers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Index 2, &amp;quot;Documentation comment keywords&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(notice that index &amp;quot;3&amp;quot; is not used)&lt;br /&gt;
&lt;br /&gt;
Index 4, &amp;quot;Global classes and typedefs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Sample Code==&lt;br /&gt;
&lt;br /&gt;
The tag left is &amp;lt;tt&amp;gt;SampleCode&amp;lt;/tt&amp;gt;. This is much pretty self explanatory:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;SampleCode value=&amp;quot;lexer_cpp.sample&amp;quot;&lt;br /&gt;
                    breakpoint_line=&amp;quot;20&amp;quot;&lt;br /&gt;
                    debug_line=&amp;quot;22&amp;quot;&lt;br /&gt;
                    error_line=&amp;quot;23&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''value''' is the filename of the code that will be shown in the Preview window. &lt;br /&gt;
When creating a &amp;lt;tt&amp;gt;lexer_*.sample&amp;lt;/tt&amp;gt; try to do it with simple and concise sample code (like the ones found in a typical &amp;quot;Hello world!&amp;quot;), yet include all the styles of the lexer.&lt;br /&gt;
&lt;br /&gt;
There are other optional options ('''Note: this index was removed completely?''')&lt;br /&gt;
* '''breakpoint_line''' is the number of the line in which a breakpoint line will be previewed.&lt;br /&gt;
* '''debug_line''' is the number of the line in which a debug line will be previewed.&lt;br /&gt;
* '''error_line''' is the number of the line in which an error line will be previewed.&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
When writing a lexer, this can be useful:&lt;br /&gt;
* .properties files of SciTE (the official Scintilla-based text editor) [http://scintilla.sourceforge.net/SciTE.html]&lt;br /&gt;
* .lang files of GtkSourceView (used Gedit) [http://git.gnome.org/browse/gtksourceview/tree/data/language-specs]&lt;br /&gt;
&lt;br /&gt;
==Adding support for code-folding==&lt;br /&gt;
&lt;br /&gt;
'''Note: support for code-folding can't be done from the lexer files. It must be done right in the Scintilla code'''.&lt;br /&gt;
&lt;br /&gt;
See here: http://sphere.sourceforge.net/flik/docs/scintilla-folding.html&lt;br /&gt;
&lt;br /&gt;
==Adding support for a lexer not supported in Scintilla==&lt;br /&gt;
&lt;br /&gt;
'''Note: support for a lexer not supported in Scintilla is out of scope of Code::Blocks. It must be done right in the Scintilla code.'''&lt;br /&gt;
&lt;br /&gt;
Here are some instructions: http://scintilla.sourceforge.net/Lexer.txt. To be able to use your newly created lexer in C::B, adjust the validity check of &amp;quot;lexer&amp;quot; in EditorColourSet::AddHighlightLanguage().&lt;br /&gt;
&lt;br /&gt;
* After you've written the Scintilla lexer, submit the files to the [http://sourceforge.net/tracker/?group_id=2439 Scintilla tracker], following their own [http://scintilla.sourceforge.net/SciCoding.html coding style].&lt;br /&gt;
&lt;br /&gt;
* After that, make any necesary change to wxScintilla and sumbit the files to the [http://sourceforge.net/tracker/?group_id=51305&amp;amp;atid=462818 wxScintilla tracker] or send a mail to the autor wyo@users.sourceforge.net (Otto Wyss).&lt;br /&gt;
&lt;br /&gt;
* And finishing, be sure to send all to the [http://developer.berlios.de/patch/?func=addpatch&amp;amp;group_id=5358 Code::Blocks tracker] (Category: Lexer), and announce it at the [/index.php?board=7.0 Forum] and the [[Announcement for plugins/patches|Wiki announcement for plugins/patches]].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Languages supported by Code::Blocks lexers]]&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Symbol_Table_plugin&amp;diff=9143</id>
		<title>Symbol Table plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Symbol_Table_plugin&amp;diff=9143"/>
		<updated>2016-02-26T19:05:12Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = SymTab |&lt;br /&gt;
  logo = [[File:Generic-plugin.png]] |&lt;br /&gt;
  developer = MortenMacFly |&lt;br /&gt;
  maintainer = |&lt;br /&gt;
  version = 1.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This plugin makes it possible to search for symbols in objects and libraries. The options and the path for the command line program &amp;lt;tt&amp;gt;nm&amp;lt;/tt&amp;gt; are defined in the Options tab.&lt;br /&gt;
&lt;br /&gt;
Clicking the ''Search'' starts the search, the results of the &amp;lt;tt&amp;gt;nm&amp;lt;/tt&amp;gt; program are displayed in a separate window called ''SymTabs Result''. The name of the objects or libraries containing the symbol are listed under the title ''NM's Output''.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7907</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7907"/>
		<updated>2015-08-25T05:23:24Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
{{Layout_box1|1=&lt;br /&gt;
[[Image:cb_splash.png|left]]&lt;br /&gt;
'''Welcome to the official Wiki for Code::Blocks'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.codeblocks.org Code::Blocks] is a free, open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++/Fortran.&lt;br /&gt;
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; background-color=&amp;quot;transparent&amp;quot; &lt;br /&gt;
|width=&amp;quot;60%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- LEFT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Did you know that using Layout_box2 here instead of &amp;lt;div&amp;gt; breaks the inner table? Strange... --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #dfeefb; border: 1px dotted #010101; margin: 5px; padding: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;background:transparent&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
=== How do I... ===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_Code::Blocks|...install Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_the_latest_official_version_of_Code::Blocks_on_Windows|Windows]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Ubuntu|Ubuntu]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Mac_OS_X|Mac OS X]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Fedora|Fedora]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_a_supported_compiler|...set up a compiler in Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_a_supported_compiler#MinGW.2FGCC|MinGW]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler#Microsoft_Visual_C.2B.2B|MS Visual C++]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Creating a new project|...create a new project?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Creating a new project#Changing file composition|Add files]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Modifying build options|Build options]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Virtual Targets|Virtual Targets]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Debugging_with_Code::Blocks|...debug my program?]]'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|...make Code::Blocks portable?]]'''&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[User_documentation#Third-party_libraries|...use a 3rd-party library?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Using_wxWidgets|wxWidgets]] &amp;amp;middot;&lt;br /&gt;
[[Using_Boost|Boost]] &amp;amp;middot;&lt;br /&gt;
[[Using_SDL_with_Code::Blocks|SDL]] &amp;amp;middot;&lt;br /&gt;
[[User_documentation#Third-party_libraries|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;''Main article: [[Code::Blocks Documentation]]''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[User documentation]] ===&lt;br /&gt;
:Articles for Code::Blocks users&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] ===&lt;br /&gt;
:Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
=== [[Feature List]] ===&lt;br /&gt;
:An index of Code::Blocks' useful features&lt;br /&gt;
&lt;br /&gt;
=== [[Code::Blocks Plugins]] ===&lt;br /&gt;
:Plugins extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
=== [[Off-site documentation]] ===&lt;br /&gt;
:Links to external documentation&lt;br /&gt;
&lt;br /&gt;
=== [[Developer documentation]] ===&lt;br /&gt;
:Articles for developers of Code::Blocks itself&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;40%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- RIGHT --&amp;gt;&lt;br /&gt;
{{Layout_box4|1=&lt;br /&gt;
=== Download Code::Blocks ===&lt;br /&gt;
* Latest official release: [https://www.codeblocks.org/downloads/26 13.12]&lt;br /&gt;
* [/index.php?board=20.0 Nightly builds] (updated each night)&lt;br /&gt;
* [[Compiled_packages_of_Code::Blocks|Official and third-party binaries]] (for various distributions)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Other resources ===&lt;br /&gt;
* [https://www.codeblocks.org Main website]&lt;br /&gt;
* [ Community forums]&lt;br /&gt;
* [irc://irc.freenode.net/codeblocks IRC channel] and [http://webchat.freenode.net/?channels=codeblocks IRC channel web access]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Development ===&lt;br /&gt;
[[Image:Chk.png]][[Roadmap]] &lt;br /&gt;
* [[Developer documentation]]&lt;br /&gt;
* [http://sourceforge.net/projects/codeblocks/ Project page at Sourceforge]&lt;br /&gt;
* '''Bugs''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3ABug_Report+or+_type%3AUndefined bugs] or browse [http://alpha0010.github.io/cb-history/bugs.html old bugs]&lt;br /&gt;
* '''Features''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3AFeature_Request+or+_type%3AUndefined features] or browse [http://alpha0010.github.io/cb-history/features.html old features]&lt;br /&gt;
* '''Patches''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3APatch+or+_type%3AUndefined patches] or browse [http://alpha0010.github.io/cb-history/patches.html old patches]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
=== Supported compilers ===&lt;br /&gt;
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)&lt;br /&gt;
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)&lt;br /&gt;
* [http://mspgcc.sourceforge.net MSP430 GCC] (Win32)&lt;br /&gt;
* [http://www.hightec-rt.com TriCore and PowerPC GCC] (Win32, Linux)&lt;br /&gt;
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)&lt;br /&gt;
&amp;lt;!-- Tested and working with Microsoft PSDK for Windows 2003 R2 and CodeBlocks b3577 --&amp;gt;&lt;br /&gt;
* [http://xona.com/2004/06/29.html Microsoft Visual C++ Toolkit 2003] (Win32) &lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)&lt;br /&gt;
* [http://edn.embarcadero.com/article/20633 Borland's C++ Compiler 5.5] (Win32)&lt;br /&gt;
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)&lt;br /&gt;
* [http://openwatcom.org/index.php/Main_Page OpenWatcom] (Win32)&lt;br /&gt;
* [https://software.intel.com/en-us/c-compilers Intel C++ compiler] (Win32)&lt;br /&gt;
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]&lt;br /&gt;
* [http://dlang.org/ Digital Mars D]&lt;br /&gt;
* [http://dgcc.sourceforge.net/ GDC D Compiler]&lt;br /&gt;
* [https://github.com/ldc-developers/ldc/ LLVM D Compiler]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.codeblocks.org/about.shtml The Code::Blocks team]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Special:Allpages|Index]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7906</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7906"/>
		<updated>2015-08-25T05:22:06Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
{{Layout_box1|1=&lt;br /&gt;
[[Image:cb_splash.png|left]]&lt;br /&gt;
'''Welcome to the official Wiki for Code::Blocks'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.codeblocks.org Code::Blocks] is a free, open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++/Fortran.&lt;br /&gt;
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; background-color=&amp;quot;transparent&amp;quot; &lt;br /&gt;
|width=&amp;quot;60%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- LEFT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Did you know that using Layout_box2 here instead of &amp;lt;div&amp;gt; breaks the inner table? Strange... --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #dfeefb; border: 1px dotted #010101; margin: 5px; padding: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;background:transparent&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
=== How do I... ===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_Code::Blocks|...install Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_the_latest_official_version_of_Code::Blocks_on_Windows|Windows]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Ubuntu|Ubuntu]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Mac_OS_X|Mac OS X]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Fedora|Fedora]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_a_supported_compiler|...set up a compiler in Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_a_supported_compiler#MinGW.2FGCC|MinGW]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler#Microsoft_Visual_C.2B.2B|MS Visual C++]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Creating a new project|...create a new project?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Creating a new project#Changing file composition|Add files]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Modifying build options|Build options]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Virtual Targets|Virtual Targets]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Debugging_with_Code::Blocks|...debug my program?]]'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|...make Code::Blocks portable?]]'''&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[User_documentation#Third-party_libraries|...use a 3rd-party library?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Using_wxWidgets|wxWidgets]] &amp;amp;middot;&lt;br /&gt;
[[Using_Boost|Boost]] &amp;amp;middot;&lt;br /&gt;
[[Using_SDL_with_Code::Blocks|SDL]] &amp;amp;middot;&lt;br /&gt;
[[User_documentation#Third-party_libraries|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;''Main article: [[Code::Blocks Documentation]]''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[User documentation]] ===&lt;br /&gt;
:Articles for Code::Blocks users&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] ===&lt;br /&gt;
:Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
=== [[Feature List]] ===&lt;br /&gt;
:An index of Code::Blocks' useful features&lt;br /&gt;
&lt;br /&gt;
=== [[Code::Blocks Plugins]] ===&lt;br /&gt;
:Plugins extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
=== [[Off-site documentation]] ===&lt;br /&gt;
:Links to external documentation&lt;br /&gt;
&lt;br /&gt;
=== [[Developer documentation]] ===&lt;br /&gt;
:Articles for developers of Code::Blocks itself&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;40%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- RIGHT --&amp;gt;&lt;br /&gt;
{{Layout_box4|1=&lt;br /&gt;
=== Download Code::Blocks ===&lt;br /&gt;
* Latest official release: [https://www.codeblocks.org/downloads/26 13.12]&lt;br /&gt;
* [/index.php?board=20.0 Nightly builds] (updated each night)&lt;br /&gt;
* [[Compiled_packages_of_Code::Blocks|Official and third-party binaries]] (for various distributions)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Other resources ===&lt;br /&gt;
* [https://www.codeblocks.org Main website]&lt;br /&gt;
* [ Community forums]&lt;br /&gt;
* [irc://irc.freenode.net/codeblocks IRC channel] and [http://webchat.freenode.net/?channels=codeblocks IRC channel web access]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Development ===&lt;br /&gt;
[[Image:Chk.png]][[Roadmap]] &lt;br /&gt;
* [[Developer documentation]]&lt;br /&gt;
* [http://sourceforge.net/projects/codeblocks/ Project page at Sourceforge]&lt;br /&gt;
* '''Bugs''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3ABug_Report+or+_type%3AUndefined bugs] or browse [http://alpha0010.github.io/cb-history/bugs.html old bugs]&lt;br /&gt;
* '''Features''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3AFeature_Request+or+_type%3AUndefined features] or browse [http://alpha0010.github.io/cb-history/features.html old features]&lt;br /&gt;
* '''Patches''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3APatch+or+_type%3AUndefined patches] or browse [http://alpha0010.github.io/cb-history/patches.html old patches]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
=== Supported compilers ===&lt;br /&gt;
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)&lt;br /&gt;
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)&lt;br /&gt;
* [http://mspgcc.sourceforge.net MSP430 GCC] (Win32)&lt;br /&gt;
* [http://www.hightec-rt.com TriCore GCC] (Win32, Linux)&lt;br /&gt;
* [http://www.hightec-rt.com PowerPC GCC] (Win32, Linux)&lt;br /&gt;
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)&lt;br /&gt;
&amp;lt;!-- Tested and working with Microsoft PSDK for Windows 2003 R2 and CodeBlocks b3577 --&amp;gt;&lt;br /&gt;
* [http://xona.com/2004/06/29.html Microsoft Visual C++ Toolkit 2003] (Win32) &lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)&lt;br /&gt;
* [http://edn.embarcadero.com/article/20633 Borland's C++ Compiler 5.5] (Win32)&lt;br /&gt;
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)&lt;br /&gt;
* [http://openwatcom.org/index.php/Main_Page OpenWatcom] (Win32)&lt;br /&gt;
* [https://software.intel.com/en-us/c-compilers Intel C++ compiler] (Win32)&lt;br /&gt;
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]&lt;br /&gt;
* [http://dlang.org/ Digital Mars D]&lt;br /&gt;
* [http://dgcc.sourceforge.net/ GDC D Compiler]&lt;br /&gt;
* [https://github.com/ldc-developers/ldc/ LLVM D Compiler]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.codeblocks.org/about.shtml The Code::Blocks team]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Special:Allpages|Index]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7905</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7905"/>
		<updated>2015-08-25T05:21:04Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
{{Layout_box1|1=&lt;br /&gt;
[[Image:cb_splash.png|left]]&lt;br /&gt;
'''Welcome to the official Wiki for Code::Blocks'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.codeblocks.org Code::Blocks] is a free, open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++/Fortran.&lt;br /&gt;
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; background-color=&amp;quot;transparent&amp;quot; &lt;br /&gt;
|width=&amp;quot;60%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- LEFT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Did you know that using Layout_box2 here instead of &amp;lt;div&amp;gt; breaks the inner table? Strange... --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #dfeefb; border: 1px dotted #010101; margin: 5px; padding: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;background:transparent&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
=== How do I... ===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_Code::Blocks|...install Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_the_latest_official_version_of_Code::Blocks_on_Windows|Windows]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Ubuntu|Ubuntu]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Mac_OS_X|Mac OS X]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Fedora|Fedora]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_a_supported_compiler|...set up a compiler in Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_a_supported_compiler#MinGW.2FGCC|MinGW]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler#Microsoft_Visual_C.2B.2B|MS Visual C++]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Creating a new project|...create a new project?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Creating a new project#Changing file composition|Add files]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Modifying build options|Build options]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Virtual Targets|Virtual Targets]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Debugging_with_Code::Blocks|...debug my program?]]'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|...make Code::Blocks portable?]]'''&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[User_documentation#Third-party_libraries|...use a 3rd-party library?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Using_wxWidgets|wxWidgets]] &amp;amp;middot;&lt;br /&gt;
[[Using_Boost|Boost]] &amp;amp;middot;&lt;br /&gt;
[[Using_SDL_with_Code::Blocks|SDL]] &amp;amp;middot;&lt;br /&gt;
[[User_documentation#Third-party_libraries|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;''Main article: [[Code::Blocks Documentation]]''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[User documentation]] ===&lt;br /&gt;
:Articles for Code::Blocks users&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] ===&lt;br /&gt;
:Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
=== [[Feature List]] ===&lt;br /&gt;
:An index of Code::Blocks' useful features&lt;br /&gt;
&lt;br /&gt;
=== [[Code::Blocks Plugins]] ===&lt;br /&gt;
:Plugins extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
=== [[Off-site documentation]] ===&lt;br /&gt;
:Links to external documentation&lt;br /&gt;
&lt;br /&gt;
=== [[Developer documentation]] ===&lt;br /&gt;
:Articles for developers of Code::Blocks itself&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;40%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- RIGHT --&amp;gt;&lt;br /&gt;
{{Layout_box4|1=&lt;br /&gt;
=== Download Code::Blocks ===&lt;br /&gt;
* Latest official release: [https://www.codeblocks.org/downloads/26 13.12]&lt;br /&gt;
* [/index.php?board=20.0 Nightly builds] (updated each night)&lt;br /&gt;
* [[Compiled_packages_of_Code::Blocks|Official and third-party binaries]] (for various distributions)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Other resources ===&lt;br /&gt;
* [https://www.codeblocks.org Main website]&lt;br /&gt;
* [ Community forums]&lt;br /&gt;
* [irc://irc.freenode.net/codeblocks IRC channel] and [http://webchat.freenode.net/?channels=codeblocks IRC channel web access]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Development ===&lt;br /&gt;
[[Image:Chk.png]][[Roadmap]] &lt;br /&gt;
* [[Developer documentation]]&lt;br /&gt;
* [http://sourceforge.net/projects/codeblocks/ Project page at Sourceforge]&lt;br /&gt;
* '''Bugs''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3ABug_Report+or+_type%3AUndefined bugs] or browse [http://alpha0010.github.io/cb-history/bugs.html old bugs]&lt;br /&gt;
* '''Features''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3AFeature_Request+or+_type%3AUndefined features] or browse [http://alpha0010.github.io/cb-history/features.html old features]&lt;br /&gt;
* '''Patches''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3APatch+or+_type%3AUndefined patches] or browse [http://alpha0010.github.io/cb-history/patches.html old patches]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
=== Supported compilers ===&lt;br /&gt;
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)&lt;br /&gt;
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)&lt;br /&gt;
* [http://mspgcc.sourceforge.net MSP430 GCC] (Win32)&lt;br /&gt;
* [http://www.hightec-rt.com TriCore GCC] (Win32, Linux)&lt;br /&gt;
* [http://www.hightec-rt.com PowerPC GCC] (Win32, Linux)&lt;br /&gt;
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)&lt;br /&gt;
&amp;lt;!-- Tested and working with Microsoft PSDK for Windows 2003 R2 and CodeBlocks b3577 --&amp;gt;&lt;br /&gt;
* [http://xona.com/2004/06/29.html Microsoft Visual C++ Toolkit 2003] (Win32) &lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)&lt;br /&gt;
* [http://edn.embarcadero.com/article/20633 Borland's C++ Compiler 5.5] (Win32)&lt;br /&gt;
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)&lt;br /&gt;
* [http://openwatcom.org/index.php/Main_Page OpenWatcom] (Win32)&lt;br /&gt;
* [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/219754.htm Intel C++ compiler] (Win32)&lt;br /&gt;
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]&lt;br /&gt;
* [http://dlang.org/ Digital Mars D]&lt;br /&gt;
* [http://dgcc.sourceforge.net/ GDC D Compiler]&lt;br /&gt;
* [https://github.com/ldc-developers/ldc/ LLVM D Compiler]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.codeblocks.org/about.shtml The Code::Blocks team]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Special:Allpages|Index]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7904</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7904"/>
		<updated>2015-08-25T05:16:45Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
{{Layout_box1|1=&lt;br /&gt;
[[Image:cb_splash.png|left]]&lt;br /&gt;
'''Welcome to the official Wiki for Code::Blocks'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.codeblocks.org Code::Blocks] is a free, open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++/Fortran.&lt;br /&gt;
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; background-color=&amp;quot;transparent&amp;quot; &lt;br /&gt;
|width=&amp;quot;60%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- LEFT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Did you know that using Layout_box2 here instead of &amp;lt;div&amp;gt; breaks the inner table? Strange... --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #dfeefb; border: 1px dotted #010101; margin: 5px; padding: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;background:transparent&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
=== How do I... ===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_Code::Blocks|...install Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_the_latest_official_version_of_Code::Blocks_on_Windows|Windows]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Ubuntu|Ubuntu]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Mac_OS_X|Mac OS X]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Fedora|Fedora]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_a_supported_compiler|...set up a compiler in Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_a_supported_compiler#MinGW.2FGCC|MinGW]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler#Microsoft_Visual_C.2B.2B|MS Visual C++]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Creating a new project|...create a new project?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Creating a new project#Changing file composition|Add files]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Modifying build options|Build options]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Virtual Targets|Virtual Targets]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Debugging_with_Code::Blocks|...debug my program?]]'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|...make Code::Blocks portable?]]'''&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[User_documentation#Third-party_libraries|...use a 3rd-party library?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Using_wxWidgets|wxWidgets]] &amp;amp;middot;&lt;br /&gt;
[[Using_Boost|Boost]] &amp;amp;middot;&lt;br /&gt;
[[Using_SDL_with_Code::Blocks|SDL]] &amp;amp;middot;&lt;br /&gt;
[[User_documentation#Third-party_libraries|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;''Main article: [[Code::Blocks Documentation]]''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[User documentation]] ===&lt;br /&gt;
:Articles for Code::Blocks users&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] ===&lt;br /&gt;
:Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
=== [[Feature List]] ===&lt;br /&gt;
:An index of Code::Blocks' useful features&lt;br /&gt;
&lt;br /&gt;
=== [[Code::Blocks Plugins]] ===&lt;br /&gt;
:Plugins extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
=== [[Off-site documentation]] ===&lt;br /&gt;
:Links to external documentation&lt;br /&gt;
&lt;br /&gt;
=== [[Developer documentation]] ===&lt;br /&gt;
:Articles for developers of Code::Blocks itself&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;40%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- RIGHT --&amp;gt;&lt;br /&gt;
{{Layout_box4|1=&lt;br /&gt;
=== Download Code::Blocks ===&lt;br /&gt;
* Latest official release: [https://www.codeblocks.org/downloads/26 13.12]&lt;br /&gt;
* [/index.php?board=20.0 Nightly builds] (updated each night)&lt;br /&gt;
* [[Compiled_packages_of_Code::Blocks|Official and third-party binaries]] (for various distributions)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Other resources ===&lt;br /&gt;
* [https://www.codeblocks.org Main website]&lt;br /&gt;
* [ Community forums]&lt;br /&gt;
* [irc://irc.freenode.net/codeblocks IRC channel] and [http://webchat.freenode.net/?channels=codeblocks IRC channel web access]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Development ===&lt;br /&gt;
[[Image:Chk.png]][[Roadmap]] &lt;br /&gt;
* [[Developer documentation]]&lt;br /&gt;
* [http://sourceforge.net/projects/codeblocks/ Project page at Sourceforge]&lt;br /&gt;
* '''Bugs''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3ABug_Report+or+_type%3AUndefined bugs] or browse [http://alpha0010.github.io/cb-history/bugs.html old bugs]&lt;br /&gt;
* '''Features''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3AFeature_Request+or+_type%3AUndefined features] or browse [http://alpha0010.github.io/cb-history/features.html old features]&lt;br /&gt;
* '''Patches''': browse or submit [http://sourceforge.net/p/codeblocks/tickets/search/?q=_type%3APatch+or+_type%3AUndefined patches] or browse [http://alpha0010.github.io/cb-history/patches.html old patches]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
=== Supported compilers ===&lt;br /&gt;
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)&lt;br /&gt;
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)&lt;br /&gt;
* [http://mspgcc.sourceforge.net MSP430 GCC] (Win32)&lt;br /&gt;
* [http://www.hightec-rt.com TriCore GCC] (Win32, Linux)&lt;br /&gt;
* [http://www.hightec-rt.com PowerPC GCC] (Win32, Linux)&lt;br /&gt;
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)&lt;br /&gt;
&amp;lt;!-- Tested and working with Microsoft PSDK for Windows 2003 R2 and CodeBlocks b3577 --&amp;gt;&lt;br /&gt;
* [http://xona.com/2004/06/29.html Microsoft Visual C++ Toolkit 2003] (Win32) &lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)&lt;br /&gt;
* [http://edn.embarcadero.com/article/20633 Borland's C++ Compiler 5.5] (Win32)&lt;br /&gt;
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)&lt;br /&gt;
* [http://openwatcom.org/index.php/Main_Page OpenWatcom] (Win32)&lt;br /&gt;
* [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/219754.htm Intel C++ compiler] (Win32)&lt;br /&gt;
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]&lt;br /&gt;
* [http://www.digitalmars.com/d/dcompiler.html Digital Mars D]&lt;br /&gt;
* [http://dgcc.sourceforge.net/ GDC D Compiler]&lt;br /&gt;
* [https://github.com/ldc-developers/ldc/ LLVM D Compiler]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.codeblocks.org/about.shtml The Code::Blocks team]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Special:Allpages|Index]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Roadmap_for_version_1.0&amp;diff=7834</id>
		<title>Roadmap for version 1.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Roadmap_for_version_1.0&amp;diff=7834"/>
		<updated>2015-01-23T19:27:28Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Version 1.0 RC 3 (Ephialtes) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Roadmaps]]&lt;br /&gt;
&lt;br /&gt;
'''Warning : This page is very likely outdated and irrelevant of what is actually going on'''&lt;br /&gt;
&lt;br /&gt;
==Version 1.0 (Pheidippides)==&lt;br /&gt;
''To Be Announced''&lt;br /&gt;
&lt;br /&gt;
==Version 1.0 RC final (Athenades)==&lt;br /&gt;
''TBA''&lt;br /&gt;
*No feature additions.&lt;br /&gt;
*Regression and bug handling only.&lt;br /&gt;
&lt;br /&gt;
==Version 1.0 RC 3 (Ephialtes)==&lt;br /&gt;
''TBA''&lt;br /&gt;
&lt;br /&gt;
*[[Image:Chk.png]]Unicode support&lt;br /&gt;
**[[Image:Chk.png]]User interface&lt;br /&gt;
**[[Image:Chk.png]]Configuration system&lt;br /&gt;
**[[Image:Chk.png]]Editor component&lt;br /&gt;
**[[Image:Nop.png]]Fully automatic detection of document encoding&lt;br /&gt;
*[[Image:Blk.png]]&amp;lt;s&amp;gt;Scripting support (Angelscript)&amp;lt;/s&amp;gt;  &amp;lt;i&amp;gt;(abandoned due to lack of 64bit support)&amp;lt;/i&amp;gt;&lt;br /&gt;
*[[Image:Chk.png]]Scripting support (Squirrel/Sq plus)&lt;br /&gt;
**[[Image:Chk.png]]Watch scripts (see [[Debugger scripts]])&lt;br /&gt;
**[[Image:Chk.png]]Build target scripts&lt;br /&gt;
*[[Image:Chk.png]]Virtual folder support&lt;br /&gt;
*[[Image:Chk.png]]Global user variables&lt;br /&gt;
**[[Image:Chk.png]]Profile-dependent GUVs&lt;br /&gt;
**[[Image:Chk.png]]Multiple variable sets&lt;br /&gt;
**[[Image:Chk.png]]Custom variable definition&lt;br /&gt;
*[[Image:Chk.png]]wxFlatNoteBook editors&lt;br /&gt;
*[[Image:Chk.png]]wxAUI docking library&lt;br /&gt;
*[[Image:Chk.png]]Context-sensitive layout switching&lt;br /&gt;
*[[Image:Chk.png]]XML-based configuration system&lt;br /&gt;
*[[Image:Chk.png]]XML-based compiler framework&lt;br /&gt;
*[[Image:Blk.png]]Property-based build system&lt;br /&gt;
*[[Image:Chk.png]]Improved configuration user interface&lt;br /&gt;
*[[Image:Blk.png]]Automatic updates&lt;br /&gt;
*[[Image:Blk.png]]Usability and stability fixes for code completion plugin &lt;br /&gt;
*[[Image:Blk.png]]Regression and bug handling.&lt;br /&gt;
&lt;br /&gt;
==Version 1.0 RC 2 (Leonidas)==&lt;br /&gt;
''25 October 2005''&lt;br /&gt;
*Precompiled headers (PCH) support! (currently works only with GCC) &lt;br /&gt;
*The source is now fully UNICODE-compatible! &lt;br /&gt;
*The source is also fully 64-bit compatible! &lt;br /&gt;
*Autoconf/automake build system is now used for non-windows platforms&lt;br /&gt;
* New editor functionality&lt;br /&gt;
**Find declaration&lt;br /&gt;
**Open #include&lt;br /&gt;
*Project wizard plugins&lt;br /&gt;
*Support for SDCC&lt;br /&gt;
*Better handling of modified files outside the IDE&lt;br /&gt;
*Single file compilation&lt;br /&gt;
*Find-in-Files for arbitrary paths/filemasks&lt;br /&gt;
*All internal file formats are well-formed, valid XML&lt;br /&gt;
*New plugins:&lt;br /&gt;
**Code statistics: counts nr. of source lines, nr. of comment lines, etc. &lt;br /&gt;
**CBProfiler: parses and displays the output of GProf, the GNU Profiler&lt;br /&gt;
**SourceExporter: exports the active file to HTML/RTF/ODT&lt;br /&gt;
*New lexers: &lt;br /&gt;
**Fortran77 &lt;br /&gt;
**NVidia CG&lt;br /&gt;
**X-Base languages (Clipper, Foxpro) &lt;br /&gt;
*New and improved project templates: &lt;br /&gt;
**SDCC program &lt;br /&gt;
**Irrlicht 3D Graphics Engine &lt;br /&gt;
**Ogre 3D Graphics Engine &lt;br /&gt;
**GLFW project (OpenGL FrameWork) &lt;br /&gt;
**wxWidgets: static/dynamic unicode/ansi versions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 1.0 RC 1-1 (Oedipus)==&lt;br /&gt;
''2 August 2005''&lt;br /&gt;
*Several critical bug fixes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 1.0 RC 1 (Laius)==&lt;br /&gt;
''25 July 2005''&lt;br /&gt;
*Compiler support for OpenWatcom &lt;br /&gt;
*Per-target environment variables&lt;br /&gt;
*Convenient &amp;quot;Start here&amp;quot; page&lt;br /&gt;
*Improved gcc error parsing&lt;br /&gt;
*Find in files functionality&lt;br /&gt;
*Ability to add files to project recursively. &lt;br /&gt;
*External dependency handling&lt;br /&gt;
*Better import of foreign project files&lt;br /&gt;
*Many GDB debugger updates&lt;br /&gt;
*Numerous user interface improvements&lt;br /&gt;
*New project templates&lt;br /&gt;
**QT4. &lt;br /&gt;
**Ogre3D. &lt;br /&gt;
* Modular Syntax highlighting&lt;br /&gt;
* Syntax highlighting support for:&lt;br /&gt;
**C/C++ &lt;br /&gt;
**Windows resources &lt;br /&gt;
**HTML/XML/XSL&lt;br /&gt;
**Lua scripts &lt;br /&gt;
**GameMonkey scripts &lt;br /&gt;
**Hitach H8 ASM&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7696</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Main_Page&amp;diff=7696"/>
		<updated>2013-12-27T20:44:27Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ __NOTOC__&lt;br /&gt;
{{Layout_box1|1=&lt;br /&gt;
[[Image:cb_splash.png|left]]&lt;br /&gt;
'''Welcome to the official Wiki for Code::Blocks'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.codeblocks.org Code::Blocks] is an open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++.&lt;br /&gt;
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; background-color=&amp;quot;transparent&amp;quot; &lt;br /&gt;
|width=&amp;quot;60%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- LEFT --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Did you know that using Layout_box2 here instead of &amp;lt;div&amp;gt; breaks the inner table? Strange... --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #dfeefb; border: 1px dotted #010101; margin: 5px; padding: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
{|align=&amp;quot;center&amp;quot; style=&amp;quot;background:transparent&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
=== How do I... ===&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_Code::Blocks|...install Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_the_latest_official_version_of_Code::Blocks_on_Windows|Windows]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Ubuntu|Ubuntu]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Mac_OS_X|Mac OS X]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks#Fedora|Fedora]] &amp;amp;middot;&lt;br /&gt;
[[Installing_Code::Blocks|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Installing_a_supported_compiler|...set up a compiler in Code::Blocks?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Installing_a_supported_compiler#MinGW.2FGCC|MinGW]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler#Microsoft_Visual_C.2B.2B|MS Visual C++]] &amp;amp;middot;&lt;br /&gt;
[[Installing_a_supported_compiler|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Creating a new project|...create a new project?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Creating a new project#Changing file composition|Add files]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Modifying build options|Build options]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project#Virtual Targets|Virtual Targets]] &amp;amp;middot;&lt;br /&gt;
[[Creating a new project|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[Debugging_with_Code::Blocks|...debug my program?]]'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|...make Code::Blocks portable?]]'''&lt;br /&gt;
&lt;br /&gt;
|align=&amp;quot;center&amp;quot;|&lt;br /&gt;
'''[[User_documentation#Third-party_libraries|...use a 3rd-party library?]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;&lt;br /&gt;
[[Using_wxWidgets|wxWidgets]] &amp;amp;middot;&lt;br /&gt;
[[Using_Boost|Boost]] &amp;amp;middot;&lt;br /&gt;
[[Using_SDL_with_Code::Blocks|SDL]] &amp;amp;middot;&lt;br /&gt;
[[User_documentation#Third-party_libraries|more...]]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:.9em&amp;quot;&amp;gt;''Main article: [[Code::Blocks Documentation]]''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[User documentation]] ===&lt;br /&gt;
:Articles for Code::Blocks users&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] ===&lt;br /&gt;
:Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
=== [[Feature List]] ===&lt;br /&gt;
:An index of Code::Blocks' useful features&lt;br /&gt;
&lt;br /&gt;
=== [[Code::Blocks Plugins]] ===&lt;br /&gt;
:Plugins extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
=== [[Off-site documentation]] ===&lt;br /&gt;
:Links to external documentation&lt;br /&gt;
&lt;br /&gt;
=== [[Developer documentation]] ===&lt;br /&gt;
:Articles for developers of Code::Blocks itself&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|width=&amp;quot;40%&amp;quot; valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&amp;lt;!-- RIGHT --&amp;gt;&lt;br /&gt;
{{Layout_box4|1=&lt;br /&gt;
=== Download Code::Blocks ===&lt;br /&gt;
* Latest official release: [https://www.codeblocks.org/downloads/26 13.12]&lt;br /&gt;
* [/index.php?board=20.0 Nightly builds] (updated each night)&lt;br /&gt;
* [[Compiled_packages_of_Code::Blocks|Official and third-party binaries]] (for various distributions)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Other resources ===&lt;br /&gt;
* [https://www.codeblocks.org Main website]&lt;br /&gt;
* [ Community forums]&lt;br /&gt;
* [irc://irc.freenode.net/codeblocks IRC channel] and [http://webchat.freenode.net/?channels=codeblocks IRC channel web access]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
=== Development ===&lt;br /&gt;
[[Image:Chk.png]][[Roadmap]] &lt;br /&gt;
* [[Developer documentation]]&lt;br /&gt;
* [http://developer.berlios.de/projects/codeblocks/ Project page at BerliOS]&lt;br /&gt;
* [http://sourceforge.net/projects/codeblocks/ Project page at Sourceforge]&lt;br /&gt;
* '''Bugs''': [http://developer.berlios.de/bugs/?group_id=5358 Browse] or [http://developer.berlios.de/bugs/?func=addbug&amp;amp;group_id=5358 submit new]&lt;br /&gt;
* '''Features''': [http://developer.berlios.de/feature/?group_id=5358 Browse] or [http://developer.berlios.de/feature/?func=addfeature&amp;amp;group_id=5358 submit new]&lt;br /&gt;
* '''Patches''': [http://developer.berlios.de/patch/?group_id=5358 Browse] or [http://developer.berlios.de/patch/?func=addpatch&amp;amp;group_id=5358 submit new]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Layout_box3|1=&lt;br /&gt;
=== Supported compilers ===&lt;br /&gt;
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)&lt;br /&gt;
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)&lt;br /&gt;
* [http://mspgcc.sourceforge.net MSP430 GCC] (Win32)&lt;br /&gt;
* [http://www.hightec-rt.com TriCore GCC] (Win32, Linux)&lt;br /&gt;
* [http://www.hightec-rt.com PowerPC GCC] (Win32, Linux)&lt;br /&gt;
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)&lt;br /&gt;
&amp;lt;!-- Tested and working with Microsoft PSDK for Windows 2003 R2 and CodeBlocks b3577 --&amp;gt;&lt;br /&gt;
* [http://xona.com/2004/06/29.html Microsoft Visual C++ Toolkit 2003] (Win32) &lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)&lt;br /&gt;
* [http://edn.embarcadero.com/article/20633 Borland's C++ Compiler 5.5] (Win32)&lt;br /&gt;
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)&lt;br /&gt;
* [http://openwatcom.org/index.php/Main_Page OpenWatcom] (Win32)&lt;br /&gt;
* [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/219754.htm Intel C++ compiler] (Win32)&lt;br /&gt;
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]&lt;br /&gt;
* [http://www.digitalmars.com/d/dcompiler.html Digital Mars D]&lt;br /&gt;
* [http://dgcc.sourceforge.net/ GDC D Compiler]&lt;br /&gt;
* [http://dsource.org/projects/ldc/ LLVM D Compiler]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[https://www.codeblocks.org/about.shtml The Code::Blocks team]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Special:Allpages|Index]]&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:Cb_splash.png&amp;diff=7695</id>
		<title>File:Cb splash.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:Cb_splash.png&amp;diff=7695"/>
		<updated>2013-12-27T20:43:48Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: uploaded a new version of &amp;amp;quot;File:Cb splash.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The splash screen used in Code::Blocks, resized to 320x113&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:Cb_splash.png&amp;diff=7694</id>
		<title>File:Cb splash.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:Cb_splash.png&amp;diff=7694"/>
		<updated>2013-12-27T20:43:19Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: uploaded a new version of &amp;amp;quot;File:Cb splash.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The splash screen used in Code::Blocks, resized to 320x113&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Debugger_scripts&amp;diff=7458</id>
		<title>Debugger scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Debugger_scripts&amp;diff=7458"/>
		<updated>2013-01-12T12:59:45Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Basic principle of the debugger script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripting Code::Blocks]]&lt;br /&gt;
&lt;br /&gt;
==Basic principle of the debugger script==&lt;br /&gt;
&lt;br /&gt;
[[image:Debuggercommand.png]]&lt;br /&gt;
&lt;br /&gt;
Look at the image above, this will give a brief introduction of how the debugger script works. For example, you want to view the variable &amp;quot;msg&amp;quot;. There are two handshake between the debugger plugin and gdb.&lt;br /&gt;
&lt;br /&gt;
First, the debugger plugin sends a command to gdb to query the type of msg&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whatis msg&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
then, the gdb will return the type&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
type = wxString&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Secondly, the debugger checks that wxString is already registered, and sends the command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
output /c msg.m_pchData[0]@((wxStringData*)msg.m_pchData-1)-&amp;gt;nDataLength&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then, gdb replies with the string below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{119 'w', 120 'x', 87 'W', 105 'i', 100 'd', 103 'g', 101 'e', 116 't', &lt;br /&gt;
115 's', 32 ' ', 50 '2', 46 '.', 56 '8', 46 '.', 49 '1', 48 '0', 45 '-', &lt;br /&gt;
87 'W', 105 'i', 110 'n', 100 'd', 111 'o', 119 'w', 115 's', 45 '-', &lt;br /&gt;
85 'U', 110 'n', 105 'i', 99 'c', 111 'o', 100 'd', 101 'e', 32 ' ', &lt;br /&gt;
98 'b', 117 'u', 105 'i', 108 'l', 100 'd'}&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Finally, the value is shown in the watch window&lt;br /&gt;
&lt;br /&gt;
==Script functions==&lt;br /&gt;
Debugger scripts are similar to [http://www.codeproject.com/csharp/ImageVisualizer.asp Visual Studio Debugger Visualizer]. It allows you to write a small piece of code that gets executed by the debugger whenever you try to view a specific type of variables and can be used to show custom text with the important information you need in it.&lt;br /&gt;
&lt;br /&gt;
Quote from Game_Ender - March 23, 2006&lt;br /&gt;
&lt;br /&gt;
''I don't think its possible to open up another window to visualize something.''&lt;br /&gt;
&lt;br /&gt;
Let's see how this works. Everything is inside a single file in the scripts/ folder, named gdb_types.script :). Support for more (user-defined) scripts is planned for the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This script is called by Code::Blocks at two places:&lt;br /&gt;
&lt;br /&gt;
# when GDB is launched. It calls the script function RegisterTypes() to register all user-defined types known by the Code::Blocks' debugger.&lt;br /&gt;
# whenever GDB encounters your variable type, it calls the script functions specific to this datatype (registered in RegisterTypes() - more on that below).&lt;br /&gt;
&lt;br /&gt;
That's the overview. Let's dissect the shipped gdb_types.script and see how it adds std::string support to GDB.&lt;br /&gt;
&lt;br /&gt;
 // Registers new types with driver&lt;br /&gt;
 function RegisterTypes(driver)&lt;br /&gt;
 {&lt;br /&gt;
 //    signature:&lt;br /&gt;
 //    driver.RegisterType(type_name, regex, eval_func, parse_func); &lt;br /&gt;
 &lt;br /&gt;
     // STL String&lt;br /&gt;
     driver.RegisterType(&lt;br /&gt;
         _T(&amp;quot;STL String&amp;quot;),&lt;br /&gt;
         _T(&amp;quot;[^[:alnum:]_]+string[^[:alnum:]_]*&amp;quot;),&lt;br /&gt;
         _T(&amp;quot;Evaluate_StlString&amp;quot;),&lt;br /&gt;
         _T(&amp;quot;Parse_StlString&amp;quot;)&lt;br /&gt;
     );&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;driver&amp;quot; parameter is the debugger driver but you don't need to care about it :) (currently this only works with GDB). This class contains a single method: RegisterType. Here's its C++ declaration:&lt;br /&gt;
&lt;br /&gt;
 void GDB_driver::RegisterType(const wxString&amp;amp; name, const wxString&amp;amp; regex, const wxString&amp;amp; eval_func, const wxString&amp;amp; parse_func)&lt;br /&gt;
&lt;br /&gt;
So, in the above script code, the &amp;quot;STL String&amp;quot; (just a name - doesn't matter what) type is registered, providing a regular expression string for the debugger plugin to match against and, finally, it provides the names of the two mandatory functions needed for each registered type:&lt;br /&gt;
&lt;br /&gt;
# evaluation function: this must return a command understood by the actual debugger (GDB in this case). For the &amp;quot;STL string&amp;quot;, the evaluate function returns an GDB &amp;quot;output&amp;quot; command which will be executed by the GDB debugger.&lt;br /&gt;
# parser function: once the debugger runs the command returned by the evaluation function, it passes its result to this function for further processing. What this function returns, is what is actually diplayed by CodeBlocks (usually in the watches window or in a tooltip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let's see the evaluation function for std::string:&lt;br /&gt;
&lt;br /&gt;
 function Evaluate_StlString(type, a_str, start, count)&lt;br /&gt;
 {&lt;br /&gt;
     local oper = _T(&amp;quot;.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     if (type.Find(_T(&amp;quot;*&amp;quot;)) &amp;gt; 0)&lt;br /&gt;
         oper = _T(&amp;quot;-&amp;gt;&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     local result = _T(&amp;quot;output &amp;quot;) + a_str + oper + _T(&amp;quot;c_str()[&amp;quot;) + start + _T(&amp;quot;]@&amp;quot;);&lt;br /&gt;
     if (count != 0)&lt;br /&gt;
         result = result + count;&lt;br /&gt;
     else&lt;br /&gt;
         result = result + a_str + oper + _T(&amp;quot;size()&amp;quot;);&lt;br /&gt;
     return result;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
I 'm not going to explain what this function returns. I 'll just tell you that it returns a GDB command that will make GDB print the actual std::string's contents. ''Yes, you need to know your debugger and its commands before you try to extend it.''&lt;br /&gt;
&lt;br /&gt;
What I will tell you though, is what those function arguments are.&lt;br /&gt;
&lt;br /&gt;
* type: the datatype, e.g. &amp;quot;char*&amp;quot;, &amp;quot;const string&amp;quot;, etc.&lt;br /&gt;
* a_str: the name of the variable GDB is trying to evaluate.&lt;br /&gt;
* start: the start offset (used for arrays).&lt;br /&gt;
* count: the count starting from the start offset (used for arrays).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let's see the relevant parser function now:&lt;br /&gt;
&lt;br /&gt;
 function Parse_StlString(a_str, start)&lt;br /&gt;
 {&lt;br /&gt;
     // nothing needs to be done&lt;br /&gt;
     return a_str;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* a_str: the returned string when GDB ran the command returned by the evaluation function. In the case of std::string, it's the contents of the string.&lt;br /&gt;
* start: the start offset (used for arrays).&lt;br /&gt;
&lt;br /&gt;
Well, in this example, nothing needs to be done. &amp;quot;a_str&amp;quot; already contains the std:string's contents so we just return it :)&lt;br /&gt;
&lt;br /&gt;
I suggest you study how wxString is registered in that same file, as a more complex example.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
#[/index.php/topic,11184.msg76200.html#msg76200 Debugging QString]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Scripting commands]]&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features&amp;diff=7457</id>
		<title>Comparison of wxSmith features</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features&amp;diff=7457"/>
		<updated>2013-01-07T07:51:42Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Contrib widgets supported */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:wxSmith Documentation]]&lt;br /&gt;
Here is a list of [[wxSmith plugin|wxSmith]] features when compared to other [[wikipedia:WxWidgets|wxWidgets]] [[wikipedia:Rapid application development|RAD]] solutions. &lt;br /&gt;
&lt;br /&gt;
Note that support for new features are added on a daily basis for some of these [[wikipedia:Rapid application development|RADs]].&lt;br /&gt;
&lt;br /&gt;
Please update this list when something gets added.&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
Basic general information about the [[wikipedia:Rapid application development|RADs]]: developer, license/price etc.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:12em&amp;quot; | [[wikipedia:Rapid application development|RAD]]&lt;br /&gt;
! Developer&lt;br /&gt;
! Cost ([[wikipedia:United States dollar|USD]])&lt;br /&gt;
! [[wikipedia:Open source|Open source]]&lt;br /&gt;
! [[wikipedia:Software licence|Software licence]]&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [[wxSmith plugin|wxSmith]]&lt;br /&gt;
| Bartlomiej Swiecki&lt;br /&gt;
| Free&lt;br /&gt;
| Yes&lt;br /&gt;
| [[wikipedia:GNU General Public License|GPL]]&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [http://www.anthemion.co.uk/dialogblocks/ DialogBlocks]&lt;br /&gt;
| Julian Smart&lt;br /&gt;
| Free (trial), €66 (normal), €35 (student)&lt;br /&gt;
| No&lt;br /&gt;
| [[wikipedia:Proprietary software|Proprietary]]&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [http://www.roebling.de/ wxDesigner]&lt;br /&gt;
| Robert Roebling&lt;br /&gt;
| Free (trial), €129 (normal), €29 (student)&lt;br /&gt;
| No&lt;br /&gt;
| [[wikipedia:Proprietary software|Proprietary]]&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [http://wxformbuilder.org/ wxFormBuilder]&lt;br /&gt;
| José Antonio Hurtado, Juan Antonio Ortega, Ryan Mulder, Ryan Pusztai, Michal Bliznak&lt;br /&gt;
| Free&lt;br /&gt;
| Yes&lt;br /&gt;
| [[wikipedia:GNU General Public License|GPL]]&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [http://visualwx.altervista.org/ VisualWx]&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| Free&lt;br /&gt;
| No&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [http://wxdsgn.sf.net/ wxDevC++]&lt;br /&gt;
| Guru Kathiresan , Tony Reina, Malcolm Nealon, Joel Low&lt;br /&gt;
| Free&lt;br /&gt;
| Yes&lt;br /&gt;
| [[wikipedia:GNU General Public License|GPL]]&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [http://twinforms.com/ wxForms for Delphi / C++ Builder]&lt;br /&gt;
| Guru Kathiresan&lt;br /&gt;
| Free (trial), $29.99&lt;br /&gt;
| No&lt;br /&gt;
| [[wikipedia:Proprietary software|Proprietary]]&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: solid 1px gray;&amp;quot;&lt;br /&gt;
! [[wikipedia:Rapid application development|RAD]]&lt;br /&gt;
! Developer&lt;br /&gt;
! Cost ([[wikipedia:United States dollar|USD]])&lt;br /&gt;
! [[wikipedia:Open source|Open source]]&lt;br /&gt;
! [[wikipedia:Software licence|Software licence]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Widgets supported==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 17em&amp;quot; | Widget&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wxDevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAnimationCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAuiManager&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAuiNotebook&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAuiToolBar&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAuiToolBarItem&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAuiToolBarLabel&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAuiToolBarSeparator&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxAuiToolBarSpacer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxBitmapButton&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxBitmapComboBox&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxBoxSizer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxButton&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxCalendarCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxCheckBox&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxCheckListBox&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxChoice&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxChoicebook&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxColourDialog&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxColourPickerCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxComboBox&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxContextHelpButton&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxDatePickerCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxDialUpManager&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxDirDialog&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxDirPickerCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxFileDialog&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxFilePickerCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxFindReplaceDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxFlexGridSizer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxFontDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxFontPickerCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxGauge&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxGenericDirCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxGLCanvas&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxGrid&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxGridBagSizer &lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxGridSizer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxHtmlEasyPrinting&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxHtmlListBox&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxHtmlWindow&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxHyperLinkCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxImage&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxImageList&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxListbook&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxListBox&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxListCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxListView&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxMediaCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxMenu&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxMenuBar&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxMessageDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxMultiChoiceDialog&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxNotebook&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxOwnerDrawnComboBox&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPageSetupDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPanel&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPasswordEntryDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPrintDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxProgressDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPropertySheetDialog&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRadioBox&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRadioButton&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRichTextCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRichTextFormattingDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRichTextStyleComboCtrl&lt;br /&gt;
| {{yes}}{{refun|patch}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRichTextStyleListBox&lt;br /&gt;
| {{yes}}{{refun|patch}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRichTextStyleListCtrl&lt;br /&gt;
| {{yes}}{{refun|patch}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxRichTextStyleOrganiserDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSashLayoutWindow&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSashWindow&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxScrollBar&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxScrolledWindow&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSearchCtrl&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSimpleHtmlListBox&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSingleChoiceDialog&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSingleInstanceChecker&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSlider&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSpacer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSpinButton&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSpinCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSplitterWindow&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStaticBitmap&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStaticBox&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStaticBoxSizer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStaticLine&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStaticText&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStatusBar&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStopWatch&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxSymbolPickerDialog&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStdDialogButtonSizer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxTextCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxTextEntryDialog&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxTimer&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxToggleButton&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxToolbar&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxTreebook&lt;br /&gt;
| {{yes}}{{refun|svn}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxTreeCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxVListBox&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxVScrolledWindow&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxWindow (Foreign)&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxWizardPage&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! Widget&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wx-DevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*{{note|patch}} Currently available via patch but should be integrated into the main distribution soon.&lt;br /&gt;
*{{note|svn}} Currently available from the SVN repository and in nightly builds and will be part of the next release.&lt;br /&gt;
&lt;br /&gt;
==Contrib widgets supported==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 17em&amp;quot; | Widget&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wxDevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | awxLed&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxChartCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxCustomButton&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxDynamicSashWindow&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxEditableListBox&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxFlatNotebook&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxImageButton&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxImagePanel&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxLEDNumberCtrl&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxMathPlot&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPlotCtrl&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPlotWindow&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPropertyGrid&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxPropertyGridManager&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxScintilla&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStyledTextCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxTreeListCtrl&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! Widget&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wxDevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Languages supported==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 17em&amp;quot; | Feature&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wxDevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | C++ code output&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Delphi / Pascal code output&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Python code output&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Lua code output&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Ruby code output&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Perl code output&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | C# code output&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Basic code output&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wxDevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Features supported==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 17em&amp;quot; | Feature&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wxDevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | XRC input&lt;br /&gt;
| {{yes}}{{refun|XRCnotworks}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | XRC output&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | XRC code loading&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Validators{{refun|Validators}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Conditional UI{{refun|ConditionalUI}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Event table and handler generation{{refun|EventTable}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Bitmaps support{{refun|Bitmaps}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | English descriptions{{refun|EnglishDesc}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Easy access to window pointers{{refun|WindowPointers}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Visually creating custom controls&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Template controls{{refun|TemplateControls}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Sizer design&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Non-sizer design&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- style=&amp;quot;background: #ececec;&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! wxSmith&lt;br /&gt;
! DialogBlocks&lt;br /&gt;
! wxDesigner&lt;br /&gt;
! wxFormBuilder&lt;br /&gt;
! VisualWx&lt;br /&gt;
! wxDevC++&lt;br /&gt;
! wxForms&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*{{note|XRCnotworks}} Currently, only one dialog resource per XRC file is imported.&lt;br /&gt;
&lt;br /&gt;
=== Features explained ===&lt;br /&gt;
&lt;br /&gt;
==== {{note|Validators}}Validators ====&lt;br /&gt;
&lt;br /&gt;
The aim of the validator concept is to make dialogs very much easier to write. A validator is an object that can be plugged into a control (such as a wxTextCtrl), and mediates between C++ data and the control, transferring the data in either direction and validating it. It also is able to intercept events generated by the control, providing filtering behaviour without the need to derive a new control class.&lt;br /&gt;
&lt;br /&gt;
How to use validators in a RAD that supports this concept: Just add a variable, select the variable and a validator, and the data transfer between variable and control is done for you.&lt;br /&gt;
&lt;br /&gt;
==== {{note|ConditionalUI}}Conditional UI ====&lt;br /&gt;
&lt;br /&gt;
It's the ability to adapt the user interface to the UI guidelines of different platform.&lt;br /&gt;
&lt;br /&gt;
Just mark elements as for one platform (or several), and preview the look for any given platform.&lt;br /&gt;
&lt;br /&gt;
[[Image:Conditional ui.PNG|Example of how it looks on DialogBlocks]]&lt;br /&gt;
&lt;br /&gt;
==== {{note|EventTable}}Event table and handler generation ====&lt;br /&gt;
&lt;br /&gt;
The RAD generates the event tables and empty handlers (including UI update handlers) so you can immediately concentrate on writing code to make the dialog come to life.&lt;br /&gt;
&lt;br /&gt;
It includes a choice of event types for each window, with function name editing.&lt;br /&gt;
&lt;br /&gt;
'''DialogBlocks Event Handler'''&lt;br /&gt;
&lt;br /&gt;
Here DialogBlocks haves the list of event handlers.&lt;br /&gt;
&lt;br /&gt;
The most noticeable feature here is that if you do a double-click on a event, you're transported to the function associated in the code. It's very handy.&lt;br /&gt;
&lt;br /&gt;
[[Image:Event handler dialogblocks.PNG|Event Tables in DialogBlocks]]&lt;br /&gt;
&lt;br /&gt;
'''VisualWx Event Handler'''&lt;br /&gt;
&lt;br /&gt;
Here VisualWx filters the events:&lt;br /&gt;
* Base wxWidgets Events&lt;br /&gt;
* Component Events&lt;br /&gt;
* Windows Events&lt;br /&gt;
* VisualWx Events&lt;br /&gt;
* Custom Events&lt;br /&gt;
&lt;br /&gt;
[[Image:Event handler visualwx.PNG|Event Tables in VisualWx]]&lt;br /&gt;
&lt;br /&gt;
==== {{note|Bitmaps}}Bitmap support ====&lt;br /&gt;
&lt;br /&gt;
Bitmaps support means that you can import images into your project from a variety of formats and associate them with your static bitmap and bitmap button controls. &lt;br /&gt;
&lt;br /&gt;
You can specify whether the bitmaps will converted into XPM format (the standard format for small bitmaps in wxWidgets) and whether the XPM image will be inserted as inline C++ code, or loaded from a file.&lt;br /&gt;
&lt;br /&gt;
==== {{note|EnglishDesc}}English descriptions ====&lt;br /&gt;
&lt;br /&gt;
English descriptions show a brief description of each element, to help you get used to sizers and also to make it easier to see at a glance the important aspects of your dialog element.&lt;br /&gt;
&lt;br /&gt;
[[Image:Rad english descriptions.PNG|An example of DialogBlocks English descriptions]]&lt;br /&gt;
&lt;br /&gt;
==== {{note|WindowPointers}}Easy access to window pointers ====&lt;br /&gt;
&lt;br /&gt;
The ''easy access to window pointers'' concept means: &lt;br /&gt;
&lt;br /&gt;
Give each window a variable name, and the RAD will add the name to the class declaration, and initialise it to the appropriate window in the implementation. &lt;br /&gt;
&lt;br /&gt;
In XRC mode, the RAD can generate the code to find the window and assign it to the pointer variable.&lt;br /&gt;
&lt;br /&gt;
==== {{note|TemplateControls}}Template controls ====&lt;br /&gt;
&lt;br /&gt;
Template controls are sets of most common widgets together, like an Ok/Cancel pair buttons inside a sizer, being user-definable.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ&amp;diff=7454</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ&amp;diff=7454"/>
		<updated>2012-12-25T12:38:21Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Compiling (errors) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
&amp;lt;!-- Editors, note that the HTML anchors (&amp;lt;span id=&amp;quot;...&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;) are for external websites that have not updated their links; new questions added to the index can safely ignore this. --&amp;gt;&lt;br /&gt;
== [[FAQ-General|General]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_is_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: What is Code::Blocks?|What is Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_Code::Blocks_is_not.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: What Code::Blocks is not?|What Code::Blocks is not?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_licence_is_Code::Blocks_released_under.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: What license is Code::Blocks released under?|What license is Code::Blocks released under?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_When_will_the_next_stable_version_of_Code::Blocks_be_released.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: When will the next stable version of Code::Blocks be released?|When will the next stable version of Code::Blocks be released?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Is_it_possible_to_integrate_the_win32-help_as_in_dev-cpp.2C_to_get_help_on_the_items_under_the_caret.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret?|Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Compiling (general)|Compiling (general)]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_compiler_can_I_use_with_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: What compiler can I use with Code::Blocks?|What compiler can I use with Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_project_should_be_compiled_with_a_custom_makefile._Is_it_possible_with_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: My project should be compiled with a custom makefile. Is it possible with Code::Blocks?|My project should be compiled with a custom makefile. Is it possible with Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_have_downloaded_MS_VC.2B.2B_Toolkit_2003_for_a_compiler._How_do_I_tell_Code::Blocks_that_it_is_my_compiler.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler?|I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Microsoft_calls_MSVCRT.DLL_a_.22Known_DLL..22_How_do_I_know_if_I_can.2Fshould_use_it.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Microsoft calls MSVCRT.DLL a &amp;quot;Known DLL.&amp;quot; How do I know if I can/should use it?|Microsoft calls MSVCRT.DLL a &amp;quot;Known DLL.&amp;quot; How do I know if I can/should use it?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_can_I_use_a_DLL_without_DEF_or_LIB_files.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How can I use a DLL without DEF or LIB files?|How can I use a DLL without DEF or LIB files?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Where_are_the_libraries_for_the_OpenGL.2C_Ogre3D.2C_SDL.2C_QT.2C_wxWidgets_etc._projects.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects?|Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Is_it_possible_to_use_Visual_C.2B.2B_6.0_with_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Is it possible to use Visual C++ 6.0 with Code::Blocks?|Is it possible to use Visual C++ 6.0 with Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_would_like_to_compile_a_project_using_some_non-standard_libraries._How_can_I_indicate_to_CodeBlocks_that_these_libraries_and_include_files_exist.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_use_both_Debug_and_Release_builds_of_wx_libraries.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How do I use both Debug and Release builds of wx libraries?|How do I use both Debug and Release builds of wx libraries?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_add_version_information_to_windows_executables_and_dll.27s.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How do I add version information to windows executables and dll's?|How do I add version information to windows executables and dll's?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Code::Blocks_does_not_force_relink_if_the_library_is_changed.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Code::Blocks does not force relink if the library is changed?|Code::Blocks does not force relink if the library is changed?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_report_a_compilation_problem_on_the_forums.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How do I report a compilation problem on the forums?|How do I report a compilation problem on the forums?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_All_of_the_Build_related_options_are_grayed_out.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: All of the Build related options are grayed out?|All of the Build related options are grayed out?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Compiling (errors)|Compiling (errors)]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_troubleshoot_a_compiler_problem.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: How do I troubleshoot a compiler problem?|How do I troubleshoot a compiler problem?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_do_I_need_to_know_when_using_3rd_party_libs.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: What do I need to know when using 3rd party libs?|What do I need to know when using 3rd party libs?]]'''&lt;br /&gt;
* '''[[FAQ-Compiling (errors)#Q: My simple C++ program throws up lots of errors - what is going on?|My simple C++ program throws up lots of errors - what is going on?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_imported_a_MSVCToolkit_project.2Fworkspace.2C_but_Code::Blocks_insists_on_trying_to_use_GCC._What.27s_wrong.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong?|I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_When_compiling_a_wxWidgets_project.2C_I_get_several_.22variable_.27vtable_for_xxxx.27_can.27t_be_auto-imported.22._What.27s_wrong.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong?|When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_can.27t_compile_a_multithreaded_app_with_VC_Toolkit.21_Where_are_the_libraries.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries?|I can't compile a multithreaded app with VC Toolkit! Where are the libraries?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_get_this_error_when_compiling:_Symbol_.22isascii.22_was_not_found_in_.22codeblocks.dll.22&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot;|I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot;]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_build_fails_with_multiple_undefined_reference_errors.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: My build fails with multiple undefined reference errors?|My build fails with multiple ''undefined reference'' errors?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_build_fails_in_the_compile.2Flink.2Frun_step_with_a_Permission_denied_error.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: My build fails in the compile/link/run step with a Permission denied error?|My build fails in the compile/link/run step with a ''Permission denied'' error?]]'''&lt;br /&gt;
* '''[[FAQ-Compiling (errors)#Q: My build fails to link due to multiple definition of xyz errors?|My build fails to link due to ''multiple definition of xyz'' errors?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Settings|Settings]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;#Q:_How_do_I_get_Code_Completion_to_work.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Settings#Q: How do I get Code Completion to work?|How do I get Code Completion to work?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;#Q:_How_do_I_make_Code::Blocks_portable.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|How do I make Code::Blocks portable?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;#Q:_Code::Blocks_option_xyz_is_missing.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Settings#Q: Code::Blocks option xyz is missing?|Code::Blocks option ''xyz'' is missing?]]'''&lt;br /&gt;
* '''[[FAQ-Settings#Q: How do I change the default location of the output terminal?|How do I change the default location of the output terminal?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Issues and Workarounds|Issues and Workarounds]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Sometime.2C_in_the_text_editor.2C_space_bar_triggers_Code_Completion.2C_how_do_I_fix_that.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: Sometime, in the text editor, space bar triggers Code Completion, how do I fix that?|Sometime, in the text editor, space bar triggers Code Completion, how do I fix that?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_IDE_is_drawing_the_text_from_Right_to_Left.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: IDE is drawing the text from Right to Left?|IDE is drawing the text from Right to Left?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_All_the_options_in_the_debug_menu_are_grayed_out.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: All the options in the debug menu are grayed out?|All the options in the debug menu are grayed out?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_project_works_everywhere_except_one_computer.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: My project works everywhere except one computer?|My project works everywhere except one computer?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Syntax_highlighting_is_broken.3B_how_do_I_fix_it.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: Syntax highlighting is broken; how do I fix it?|Syntax highlighting is broken; how do I fix it?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_posted_on_the_forums_that_Code::Blocks_was_not_working.2C_but_no_one_could_help_me.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: I posted on the forums that Code::Blocks was not working, but no one could help me?|I posted on the forums that Code::Blocks was not working, but no one could help me?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_cannot_find_any_text_in_my_Code::Blocks_logs.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: I cannot find any text in my Code::Blocks logs?|I cannot find any text in my Code::Blocks logs?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Scrolling_causes_gray_areas.2Fdistortions_to_obscure_my_code_in_the_editor.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: Scrolling causes gray areas/distortions to obscure my code in the editor?|Scrolling causes gray areas/distortions to obscure my code in the editor?]]'''&lt;br /&gt;
* '''[[FAQ-Issues and Workarounds#Q: I cannot type a greater-than '&amp;gt;' sign?|I cannot type a greater-than '&amp;gt;' sign?]]'''&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7453</id>
		<title>FAQ-Compiling (errors)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7453"/>
		<updated>2012-12-25T12:37:52Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Q: What so I need to know when using 3rd party libs? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I troubleshoot a compiler problem? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' I would start by turning on full Compiler logging.&lt;br /&gt;
&lt;br /&gt;
This is done by selecting the &amp;quot;Full command line&amp;quot; option Under menu &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Compiler and Debugger&amp;quot; -&amp;gt; Global compiler settings -&amp;gt; [the compiler you use] -&amp;gt; &amp;quot;Other Setting&amp;quot; tab, &amp;quot;Compiler logging&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This option will make Code::Blocks output the exact commands it uses to compile your code.&lt;br /&gt;
&lt;br /&gt;
Things to remember:&lt;br /&gt;
&lt;br /&gt;
* You should review all the commands and their options;&lt;br /&gt;
* If you have compiled your app before, do a ''re-''build (or ''clean'' before build) to see all compiling / linking steps;&lt;br /&gt;
* If you don't know what an option or a command does please read the documentation for the compiler/linker you're using;&lt;br /&gt;
* Look for missing commands;&lt;br /&gt;
* For every source file (&amp;lt;tt&amp;gt;.cpp&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.c&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.d&amp;lt;/tt&amp;gt;; etc) in your project, you must have at least one command in the log. This command must produce an object file (file extension &amp;lt;tt&amp;gt;.o&amp;lt;/tt&amp;gt; if using gcc/g++ and &amp;lt;tt&amp;gt;.obj&amp;lt;/tt&amp;gt; if using Visual Studio);&lt;br /&gt;
* Every object file should be linked in the final executable, if not there are undefined symbols errors;&lt;br /&gt;
* Remember the file extension matters: &amp;lt;tt&amp;gt;*.c&amp;lt;/tt&amp;gt; is compiled as C file, &amp;lt;tt&amp;gt;*.cpp&amp;lt;/tt&amp;gt; is compiled as C++ file. [http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html Read more]&lt;br /&gt;
&lt;br /&gt;
==== Q: What do I need to know when using 3rd party libs? ====&lt;br /&gt;
Here are some basics about typical mistakes done when working with third party libs, including wxWidgets. The following is valid for ''every'' third party SDK / toolbox / component you want to use and describes what steps your have to do:&lt;br /&gt;
&lt;br /&gt;
* Download the sources of the component OR a ready-to-use development version. The difference: While the first requires you to compile the component yourself is will definitely work with your compiler. The latter must be compiled in a compatible way: So a compatible compiler, compatible OS, compatible settings. Inspect the components docs about how to get what you want.&lt;br /&gt;
* Place the component sources and compiled parts anywhere you want It is not required to copy such parts to any other folder you might think - in fact, this may even be dangerous in case you overwrite existing files.&lt;br /&gt;
* Create a project where you want to use your component.&lt;br /&gt;
* In the ''compiler'' settings, point to the folder, where the include files of your component are. For WX this is special, as usually you include like #include &amp;lt;wx/foo.h&amp;gt;. So do ''not'' point to [Component_Folder]\include\wx, but to [Component_Folder]\include instead.&lt;br /&gt;
* Note that the compiler only needs to know the interfaces / classes / structures / methods, it will not throw an error about undefined references or alike. The compiler will only complain in case it cannot find references in terms of include files. If thats the case, adjust your project's compiler settings. Keep in mind that you do need to fulfil the requirements of your component itself, too. Thus, wxChart for example will need for wxWidgets, too. So - you may need to do the same process for wxWidgets, too before you can use wxChart - unless you have done that already.&lt;br /&gt;
* In the ''linker'' settings, point to the folder where you have your compiled library. A library usually ends with *.a or *.lib. Note that there are generally two types of libs: Static libs (after linking you are done) and Dynamic libs (where you link against an import lib but require another dynamic lib at runtime).&lt;br /&gt;
* In the linker settings add the library/libraries you need to link against in the ''right order'' to the list of libs to link against. ''Order matters'' - again, dependencies must be taken into account. Inspect the developers guide of the component to know the dependencies. On Windows, this may include the MSDN, too which tells you what libraries you need to link against for certain symbols you or the library may make use of.&lt;br /&gt;
* The linker will never complain about includes it cannot find. Because the linker just links object files or library files together. But the linker may complain about unresolved symbols which you need to provide. So if that happens, either your setup is missing a lib, or the order is wrong.&lt;br /&gt;
&lt;br /&gt;
Again, this is valid for all third party stuff you want to use. Its heavily ''platform'' and ''compiler'' dependent. The IDE should be less of concern for you. Every IDE can be setup in a way it will compile and link your stuff unless you provide everything needed as explained above.&lt;br /&gt;
&lt;br /&gt;
If you don't understand parts written here it is ''strongly'' recommended you start with a book about general programming in C/C++ that covers library handling in more detail.&lt;br /&gt;
&lt;br /&gt;
For the example wxChart in the end is not easy for starters. Usually you need to compile wxWidgets before, then wxChart and usually not all dependencies are explained in the docs and it behaves differently on different OS'es / compilers. Also, wcChart can be compiled in many flavours - so you need to make sure the flavour matches a) your needs and b) the way you compiled wxWidgets.&lt;br /&gt;
&lt;br /&gt;
==== Q: My simple C++ program throws up lots of errors - what is going on? ====&lt;br /&gt;
&lt;br /&gt;
If you have a C++ program like this:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
  int main() {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;hello world\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
and when you compile it you get errors like this:&lt;br /&gt;
&lt;br /&gt;
  fatal error: iostream: No such file or directory&lt;br /&gt;
&lt;br /&gt;
then you have probably given your source file a .c extension. If you do that, the GCC compiler (and others) will probably attempt to compile the file as a C program, not as C++. You should always give your C++ source files the extension .cpp to make sure the compiler handles them correctly.&lt;br /&gt;
&lt;br /&gt;
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' A little documentation problem ^^;. The &amp;quot;default compiler&amp;quot; is usually GCC, so when you imported it with &amp;quot;the default compiler&amp;quot;, you told it to use GCC. To fix this situation, go to &amp;quot;Project&amp;quot;, &amp;quot;Build Options&amp;quot; and select VC++ Toolkit as your compiler.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.&lt;br /&gt;
&lt;br /&gt;
From now onwards, for all new projects the Microsoft compiler will be taken by default.&lt;br /&gt;
&lt;br /&gt;
==== Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to add WXUSINGDLL in &amp;quot;Project-&amp;gt;Build options-&amp;gt;Compiler #defines&amp;quot; and rebuild your project (or create a new project and use the &amp;quot;Using wxWidgets DLL&amp;quot; project option which adds &amp;quot;-DWXUSINGDLL&amp;quot; to Project-&amp;gt;Build options-&amp;gt;Other options).&lt;br /&gt;
Other errors with the same resolution are:&lt;br /&gt;
'unresolved external symbol &amp;quot;char const * const wxEmptyString&amp;quot; (?wxEmptyString@@3PBDB)' or similar.&lt;br /&gt;
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.&lt;br /&gt;
&lt;br /&gt;
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Sorry, no fix for your problem...&lt;br /&gt;
&lt;br /&gt;
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which come with Visual C++ (VC) which isn't free, unfortunately.&lt;br /&gt;
&lt;br /&gt;
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]&lt;br /&gt;
&lt;br /&gt;
The libraries that can be obtained free of charge are:&lt;br /&gt;
&lt;br /&gt;
Paths:&lt;br /&gt;
 (VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 (PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 (NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
&lt;br /&gt;
C runtime libs:&lt;br /&gt;
 LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)&lt;br /&gt;
 LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)&lt;br /&gt;
 MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)&lt;br /&gt;
 LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)&lt;br /&gt;
 LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)&lt;br /&gt;
 MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)&lt;br /&gt;
&lt;br /&gt;
C++ libs:&lt;br /&gt;
 LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)&lt;br /&gt;
 LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)&lt;br /&gt;
 MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)&lt;br /&gt;
 LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)&lt;br /&gt;
 LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)&lt;br /&gt;
 MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)&lt;br /&gt;
&lt;br /&gt;
Try setting the library linker directories to:&lt;br /&gt;
 C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
in that order.&lt;br /&gt;
&lt;br /&gt;
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are&lt;br /&gt;
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you&lt;br /&gt;
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for &amp;quot;exports.sed&amp;quot; for detailed steps.&lt;br /&gt;
&lt;br /&gt;
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp&lt;br /&gt;
&lt;br /&gt;
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit&lt;br /&gt;
&lt;br /&gt;
==== Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails with multiple ''undefined reference'' errors? ====&lt;br /&gt;
&lt;br /&gt;
''Example:''&lt;br /&gt;
 undefined reference to `WSACleanup@8&lt;br /&gt;
 undefined reference to `WSACleanup@0&lt;br /&gt;
&lt;br /&gt;
'''A:''' Most of the time it is because the required library is not linked with your project. Go to ''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'' and add the required library or libraries.&lt;br /&gt;
&lt;br /&gt;
If the error includes a line number, it is likely that this is a problem with your code. Track down down your function declarations and implementations. Ensure they all match up, are spelled correctly, and have the correct scope resolution.&lt;br /&gt;
&lt;br /&gt;
''VERY'' often you can get help by just googling for the name of the undefined reference, for this example its &amp;quot;WSACleanup&amp;quot;. Usually one of the first links is the SDK documentation, like [http://msdn.microsoft.com/en-us/library/windows/desktop/ms741549%28v=vs.85%29.aspx this from MSDN for WSACleanup]. You'll find there a lot useful information, including what libraries you need to link against, as for the exsample:&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* Minimum supported client: Windows 2000 Professional&lt;br /&gt;
* Minimum supported server: Windows 2000 Server&lt;br /&gt;
* Header: '''Winsock2.h'''&lt;br /&gt;
* Library: '''Ws2_32'''.lib&lt;br /&gt;
* DLL: '''Ws2_32.dll'''&lt;br /&gt;
The header file '''Winsock2.h''' you need to include in your sources. Most likely you have done that already because otherwise you would have gotten a compiler error unable to find the function declaration. The library you need to link against, you can remove any prefix like &amp;quot;lib&amp;quot; and the file extension like &amp;quot;.lib&amp;quot;, &amp;quot;.a&amp;quot; or &amp;quot;.so&amp;quot; - so just type &amp;quot;'''Ws2_32'''&amp;quot; in the linker options. Also make sure you have added the path to that library in the linker include path's options, otherwise the linker will complain that it cannot find that library you want to link against. You also know, that you should distribute '''Ws2_32.dll''' for the runtime version of you app, luckily this one usually ships with Windows anyways, so no need to do something here.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails in the compile/link/run step with a ''Permission denied'' error? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' There are several possible causes for this:&lt;br /&gt;
&lt;br /&gt;
# The output directory does not have read/write access.&lt;br /&gt;
#* Either change control settings on the output directory, or move the project to different location.&lt;br /&gt;
# A previous instance of the executable failed to terminate properly.&lt;br /&gt;
#* Open your system's equivalent of Process/Task Manager, search the list for the name of the executable Code::Blocks is trying to output, and terminate it.&lt;br /&gt;
#* Logging off or rebooting will achieve the same effect.&lt;br /&gt;
# The executable is open.&lt;br /&gt;
#* If the executable is open in a hex-editor or actively being run, close it.&lt;br /&gt;
# Security software is interfering.&lt;br /&gt;
#* The target file is locked while an antivirus programming is scanning it; either wait a few seconds for the antivirus scan to finish, set an exception in the antivirus settings, or (temporarily) disable the antivirus program.&lt;br /&gt;
#* Firewalls with very strict settings sometimes block execution; try reducing the firewall's settings or adding an exception.&lt;br /&gt;
#* Switching security software may have left traces behind that are interfering; hunt down the remnants of the old antivirus/firewall software and remove them.&lt;br /&gt;
# The file/library cannot be found.&lt;br /&gt;
#* Double check all of the compiler and linker [[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|search directories]] (including any [[Global compiler variables|variables]] they may be using) are properly setup.&lt;br /&gt;
# Code::Blocks was improperly installed.&lt;br /&gt;
#* Mixing binaries from a stable release and a nightly build (or even two different nightly builds) is highly likely to cause a slew of problems; [[Installing Code::Blocks|reinstall Code::Blocks]] in an empty directory.&lt;br /&gt;
# Multiple installed compilers are interfering with each other.&lt;br /&gt;
#* If they are not required to keep, completely remove all but the most used compiler.&lt;br /&gt;
#* If several compilers are required, ensure that '''none''' of them are in the ''system'' path (this is so that Code::Blocks will be able to manage all paths).&lt;br /&gt;
#* Also, do not place any compilers in their default installation path (for example &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;), as some compilers are hard-coded to look for headers in a default path ''before'' searching their own respective directories.&lt;br /&gt;
# On windows 7, the service &amp;quot;Application Experience&amp;quot; is not running [http://stackoverflow.com/questions/7655471/ld-exe-cannot-open-output-file-permission-denied#answer-7904469 as explained on stackoverflow].&lt;br /&gt;
See also: [/index.php/topic,15047.0.html Permission denied forums discussion]&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails to link due to ''multiple definition of xyz'' errors? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' GCC 4.6.1 mingw target (Windows) is known to occasionally (and erroneously) report this if link-time optimization (&amp;lt;tt&amp;gt;-flto&amp;lt;/tt&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
First, of course, check that no token has been defined multiple times. If the source code is clean, and yet the errors persist, adding linker switch (''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'')&lt;br /&gt;
 -Wl,--allow-multiple-definition&lt;br /&gt;
will enable the code to link.&lt;br /&gt;
&lt;br /&gt;
See also: [http://sourceware.org/bugzilla/show_bug.cgi?id=12762 Bug 12762]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ&amp;diff=7452</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ&amp;diff=7452"/>
		<updated>2012-12-25T12:36:58Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Compiling (errors) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
&amp;lt;!-- Editors, note that the HTML anchors (&amp;lt;span id=&amp;quot;...&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;) are for external websites that have not updated their links; new questions added to the index can safely ignore this. --&amp;gt;&lt;br /&gt;
== [[FAQ-General|General]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_is_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: What is Code::Blocks?|What is Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_Code::Blocks_is_not.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: What Code::Blocks is not?|What Code::Blocks is not?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_licence_is_Code::Blocks_released_under.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: What license is Code::Blocks released under?|What license is Code::Blocks released under?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_When_will_the_next_stable_version_of_Code::Blocks_be_released.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: When will the next stable version of Code::Blocks be released?|When will the next stable version of Code::Blocks be released?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Is_it_possible_to_integrate_the_win32-help_as_in_dev-cpp.2C_to_get_help_on_the_items_under_the_caret.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-General#Q: Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret?|Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Compiling (general)|Compiling (general)]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_compiler_can_I_use_with_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: What compiler can I use with Code::Blocks?|What compiler can I use with Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_project_should_be_compiled_with_a_custom_makefile._Is_it_possible_with_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: My project should be compiled with a custom makefile. Is it possible with Code::Blocks?|My project should be compiled with a custom makefile. Is it possible with Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_have_downloaded_MS_VC.2B.2B_Toolkit_2003_for_a_compiler._How_do_I_tell_Code::Blocks_that_it_is_my_compiler.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler?|I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Microsoft_calls_MSVCRT.DLL_a_.22Known_DLL..22_How_do_I_know_if_I_can.2Fshould_use_it.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Microsoft calls MSVCRT.DLL a &amp;quot;Known DLL.&amp;quot; How do I know if I can/should use it?|Microsoft calls MSVCRT.DLL a &amp;quot;Known DLL.&amp;quot; How do I know if I can/should use it?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_can_I_use_a_DLL_without_DEF_or_LIB_files.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How can I use a DLL without DEF or LIB files?|How can I use a DLL without DEF or LIB files?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Where_are_the_libraries_for_the_OpenGL.2C_Ogre3D.2C_SDL.2C_QT.2C_wxWidgets_etc._projects.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects?|Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Is_it_possible_to_use_Visual_C.2B.2B_6.0_with_Code::Blocks.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Is it possible to use Visual C++ 6.0 with Code::Blocks?|Is it possible to use Visual C++ 6.0 with Code::Blocks?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_would_like_to_compile_a_project_using_some_non-standard_libraries._How_can_I_indicate_to_CodeBlocks_that_these_libraries_and_include_files_exist.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_use_both_Debug_and_Release_builds_of_wx_libraries.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How do I use both Debug and Release builds of wx libraries?|How do I use both Debug and Release builds of wx libraries?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_add_version_information_to_windows_executables_and_dll.27s.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How do I add version information to windows executables and dll's?|How do I add version information to windows executables and dll's?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Code::Blocks_does_not_force_relink_if_the_library_is_changed.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: Code::Blocks does not force relink if the library is changed?|Code::Blocks does not force relink if the library is changed?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_report_a_compilation_problem_on_the_forums.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: How do I report a compilation problem on the forums?|How do I report a compilation problem on the forums?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_All_of_the_Build_related_options_are_grayed_out.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (general)#Q: All of the Build related options are grayed out?|All of the Build related options are grayed out?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Compiling (errors)|Compiling (errors)]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_How_do_I_troubleshoot_a_compiler_problem.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: How do I troubleshoot a compiler problem?|How do I troubleshoot a compiler problem?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_What_so_I_need_to_know_when_using_3rd_party_libs.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: What so I need to know when using 3rd party libs?|What so I need to know when using 3rd party libs?]]'''&lt;br /&gt;
* '''[[FAQ-Compiling (errors)#Q: My simple C++ program throws up lots of errors - what is going on?|My simple C++ program throws up lots of errors - what is going on?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_imported_a_MSVCToolkit_project.2Fworkspace.2C_but_Code::Blocks_insists_on_trying_to_use_GCC._What.27s_wrong.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong?|I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_When_compiling_a_wxWidgets_project.2C_I_get_several_.22variable_.27vtable_for_xxxx.27_can.27t_be_auto-imported.22._What.27s_wrong.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong?|When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_can.27t_compile_a_multithreaded_app_with_VC_Toolkit.21_Where_are_the_libraries.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries?|I can't compile a multithreaded app with VC Toolkit! Where are the libraries?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_get_this_error_when_compiling:_Symbol_.22isascii.22_was_not_found_in_.22codeblocks.dll.22&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot;|I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot;]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_build_fails_with_multiple_undefined_reference_errors.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: My build fails with multiple undefined reference errors?|My build fails with multiple ''undefined reference'' errors?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_build_fails_in_the_compile.2Flink.2Frun_step_with_a_Permission_denied_error.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Compiling (errors)#Q: My build fails in the compile/link/run step with a Permission denied error?|My build fails in the compile/link/run step with a ''Permission denied'' error?]]'''&lt;br /&gt;
* '''[[FAQ-Compiling (errors)#Q: My build fails to link due to multiple definition of xyz errors?|My build fails to link due to ''multiple definition of xyz'' errors?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Settings|Settings]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;#Q:_How_do_I_get_Code_Completion_to_work.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Settings#Q: How do I get Code Completion to work?|How do I get Code Completion to work?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;#Q:_How_do_I_make_Code::Blocks_portable.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|How do I make Code::Blocks portable?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;#Q:_Code::Blocks_option_xyz_is_missing.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Settings#Q: Code::Blocks option xyz is missing?|Code::Blocks option ''xyz'' is missing?]]'''&lt;br /&gt;
* '''[[FAQ-Settings#Q: How do I change the default location of the output terminal?|How do I change the default location of the output terminal?]]'''&lt;br /&gt;
&lt;br /&gt;
== [[FAQ-Issues and Workarounds|Issues and Workarounds]] ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Sometime.2C_in_the_text_editor.2C_space_bar_triggers_Code_Completion.2C_how_do_I_fix_that.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: Sometime, in the text editor, space bar triggers Code Completion, how do I fix that?|Sometime, in the text editor, space bar triggers Code Completion, how do I fix that?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_IDE_is_drawing_the_text_from_Right_to_Left.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: IDE is drawing the text from Right to Left?|IDE is drawing the text from Right to Left?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_All_the_options_in_the_debug_menu_are_grayed_out.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: All the options in the debug menu are grayed out?|All the options in the debug menu are grayed out?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_My_project_works_everywhere_except_one_computer.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: My project works everywhere except one computer?|My project works everywhere except one computer?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Syntax_highlighting_is_broken.3B_how_do_I_fix_it.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: Syntax highlighting is broken; how do I fix it?|Syntax highlighting is broken; how do I fix it?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_posted_on_the_forums_that_Code::Blocks_was_not_working.2C_but_no_one_could_help_me.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: I posted on the forums that Code::Blocks was not working, but no one could help me?|I posted on the forums that Code::Blocks was not working, but no one could help me?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_I_cannot_find_any_text_in_my_Code::Blocks_logs.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: I cannot find any text in my Code::Blocks logs?|I cannot find any text in my Code::Blocks logs?]]'''&lt;br /&gt;
* &amp;lt;span id=&amp;quot;Q:_Scrolling_causes_gray_areas.2Fdistortions_to_obscure_my_code_in_the_editor.3F&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;'''[[FAQ-Issues and Workarounds#Q: Scrolling causes gray areas/distortions to obscure my code in the editor?|Scrolling causes gray areas/distortions to obscure my code in the editor?]]'''&lt;br /&gt;
* '''[[FAQ-Issues and Workarounds#Q: I cannot type a greater-than '&amp;gt;' sign?|I cannot type a greater-than '&amp;gt;' sign?]]'''&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7451</id>
		<title>FAQ-Compiling (errors)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7451"/>
		<updated>2012-12-25T12:34:46Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Q: What so I need to know when using 3rd party libs? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I troubleshoot a compiler problem? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' I would start by turning on full Compiler logging.&lt;br /&gt;
&lt;br /&gt;
This is done by selecting the &amp;quot;Full command line&amp;quot; option Under menu &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Compiler and Debugger&amp;quot; -&amp;gt; Global compiler settings -&amp;gt; [the compiler you use] -&amp;gt; &amp;quot;Other Setting&amp;quot; tab, &amp;quot;Compiler logging&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This option will make Code::Blocks output the exact commands it uses to compile your code.&lt;br /&gt;
&lt;br /&gt;
Things to remember:&lt;br /&gt;
&lt;br /&gt;
* You should review all the commands and their options;&lt;br /&gt;
* If you have compiled your app before, do a ''re-''build (or ''clean'' before build) to see all compiling / linking steps;&lt;br /&gt;
* If you don't know what an option or a command does please read the documentation for the compiler/linker you're using;&lt;br /&gt;
* Look for missing commands;&lt;br /&gt;
* For every source file (&amp;lt;tt&amp;gt;.cpp&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.c&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.d&amp;lt;/tt&amp;gt;; etc) in your project, you must have at least one command in the log. This command must produce an object file (file extension &amp;lt;tt&amp;gt;.o&amp;lt;/tt&amp;gt; if using gcc/g++ and &amp;lt;tt&amp;gt;.obj&amp;lt;/tt&amp;gt; if using Visual Studio);&lt;br /&gt;
* Every object file should be linked in the final executable, if not there are undefined symbols errors;&lt;br /&gt;
* Remember the file extension matters: &amp;lt;tt&amp;gt;*.c&amp;lt;/tt&amp;gt; is compiled as C file, &amp;lt;tt&amp;gt;*.cpp&amp;lt;/tt&amp;gt; is compiled as C++ file. [http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html Read more]&lt;br /&gt;
&lt;br /&gt;
==== Q: What so I need to know when using 3rd party libs? ====&lt;br /&gt;
Here are some basics about typical mistakes done when working with third party libs, including wxWidgets. The following is valid for ''every'' third party SDK / toolbox / component you want to use and describes what steps your have to do:&lt;br /&gt;
&lt;br /&gt;
* Download the sources of the component OR a ready-to-use development version. The difference: While the first requires you to compile the component yourself is will definitely work with your compiler. The latter must be compiled in a compatible way: So a compatible compiler, compatible OS, compatible settings. Inspect the components docs about how to get what you want.&lt;br /&gt;
* Place the component sources and compiled parts anywhere you want It is not required to copy such parts to any other folder you might think - in fact, this may even be dangerous in case you overwrite existing files.&lt;br /&gt;
* Create a project where you want to use your component.&lt;br /&gt;
* In the ''compiler'' settings, point to the folder, where the include files of your component are. For WX this is special, as usually you include like #include &amp;lt;wx/foo.h&amp;gt;. So do ''not'' point to [Component_Folder]\include\wx, but to [Component_Folder]\include instead.&lt;br /&gt;
* Note that the compiler only needs to know the interfaces / classes / structures / methods, it will not throw an error about undefined references or alike. The compiler will only complain in case it cannot find references in terms of include files. If thats the case, adjust your project's compiler settings. Keep in mind that you do need to fulfil the requirements of your component itself, too. Thus, wxChart for example will need for wxWidgets, too. So - you may need to do the same process for wxWidgets, too before you can use wxChart - unless you have done that already.&lt;br /&gt;
* In the ''linker'' settings, point to the folder where you have your compiled library. A library usually ends with *.a or *.lib. Note that there are generally two types of libs: Static libs (after linking you are done) and Dynamic libs (where you link against an import lib but require another dynamic lib at runtime).&lt;br /&gt;
* In the linker settings add the library/libraries you need to link against in the ''right order'' to the list of libs to link against. ''Order matters'' - again, dependencies must be taken into account. Inspect the developers guide of the component to know the dependencies. On Windows, this may include the MSDN, too which tells you what libraries you need to link against for certain symbols you or the library may make use of.&lt;br /&gt;
* The linker will never complain about includes it cannot find. Because the linker just links object files or library files together. But the linker may complain about unresolved symbols which you need to provide. So if that happens, either your setup is missing a lib, or the order is wrong.&lt;br /&gt;
&lt;br /&gt;
Again, this is valid for all third party stuff you want to use. Its heavily ''platform'' and ''compiler'' dependent. The IDE should be less of concern for you. Every IDE can be setup in a way it will compile and link your stuff unless you provide everything needed as explained above.&lt;br /&gt;
&lt;br /&gt;
If you don't understand parts written here it is ''strongly'' recommended you start with a book about general programming in C/C++ that covers library handling in more detail.&lt;br /&gt;
&lt;br /&gt;
For the example wxChart in the end is not easy for starters. Usually you need to compile wxWidgets before, then wxChart and usually not all dependencies are explained in the docs and it behaves differently on different OS'es / compilers. Also, wcChart can be compiled in many flavours - so you need to make sure the flavour matches a) your needs and b) the way you compiled wxWidgets.&lt;br /&gt;
&lt;br /&gt;
==== Q: My simple C++ program throws up lots of errors - what is going on? ====&lt;br /&gt;
&lt;br /&gt;
If you have a C++ program like this:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
  int main() {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;hello world\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
and when you compile it you get errors like this:&lt;br /&gt;
&lt;br /&gt;
  fatal error: iostream: No such file or directory&lt;br /&gt;
&lt;br /&gt;
then you have probably given your source file a .c extension. If you do that, the GCC compiler (and others) will probably attempt to compile the file as a C program, not as C++. You should always give your C++ source files the extension .cpp to make sure the compiler handles them correctly.&lt;br /&gt;
&lt;br /&gt;
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' A little documentation problem ^^;. The &amp;quot;default compiler&amp;quot; is usually GCC, so when you imported it with &amp;quot;the default compiler&amp;quot;, you told it to use GCC. To fix this situation, go to &amp;quot;Project&amp;quot;, &amp;quot;Build Options&amp;quot; and select VC++ Toolkit as your compiler.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.&lt;br /&gt;
&lt;br /&gt;
From now onwards, for all new projects the Microsoft compiler will be taken by default.&lt;br /&gt;
&lt;br /&gt;
==== Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to add WXUSINGDLL in &amp;quot;Project-&amp;gt;Build options-&amp;gt;Compiler #defines&amp;quot; and rebuild your project (or create a new project and use the &amp;quot;Using wxWidgets DLL&amp;quot; project option which adds &amp;quot;-DWXUSINGDLL&amp;quot; to Project-&amp;gt;Build options-&amp;gt;Other options).&lt;br /&gt;
Other errors with the same resolution are:&lt;br /&gt;
'unresolved external symbol &amp;quot;char const * const wxEmptyString&amp;quot; (?wxEmptyString@@3PBDB)' or similar.&lt;br /&gt;
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.&lt;br /&gt;
&lt;br /&gt;
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Sorry, no fix for your problem...&lt;br /&gt;
&lt;br /&gt;
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which come with Visual C++ (VC) which isn't free, unfortunately.&lt;br /&gt;
&lt;br /&gt;
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]&lt;br /&gt;
&lt;br /&gt;
The libraries that can be obtained free of charge are:&lt;br /&gt;
&lt;br /&gt;
Paths:&lt;br /&gt;
 (VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 (PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 (NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
&lt;br /&gt;
C runtime libs:&lt;br /&gt;
 LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)&lt;br /&gt;
 LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)&lt;br /&gt;
 MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)&lt;br /&gt;
 LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)&lt;br /&gt;
 LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)&lt;br /&gt;
 MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)&lt;br /&gt;
&lt;br /&gt;
C++ libs:&lt;br /&gt;
 LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)&lt;br /&gt;
 LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)&lt;br /&gt;
 MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)&lt;br /&gt;
 LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)&lt;br /&gt;
 LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)&lt;br /&gt;
 MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)&lt;br /&gt;
&lt;br /&gt;
Try setting the library linker directories to:&lt;br /&gt;
 C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
in that order.&lt;br /&gt;
&lt;br /&gt;
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are&lt;br /&gt;
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you&lt;br /&gt;
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for &amp;quot;exports.sed&amp;quot; for detailed steps.&lt;br /&gt;
&lt;br /&gt;
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp&lt;br /&gt;
&lt;br /&gt;
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit&lt;br /&gt;
&lt;br /&gt;
==== Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails with multiple ''undefined reference'' errors? ====&lt;br /&gt;
&lt;br /&gt;
''Example:''&lt;br /&gt;
 undefined reference to `WSACleanup@8&lt;br /&gt;
 undefined reference to `WSACleanup@0&lt;br /&gt;
&lt;br /&gt;
'''A:''' Most of the time it is because the required library is not linked with your project. Go to ''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'' and add the required library or libraries.&lt;br /&gt;
&lt;br /&gt;
If the error includes a line number, it is likely that this is a problem with your code. Track down down your function declarations and implementations. Ensure they all match up, are spelled correctly, and have the correct scope resolution.&lt;br /&gt;
&lt;br /&gt;
''VERY'' often you can get help by just googling for the name of the undefined reference, for this example its &amp;quot;WSACleanup&amp;quot;. Usually one of the first links is the SDK documentation, like [http://msdn.microsoft.com/en-us/library/windows/desktop/ms741549%28v=vs.85%29.aspx this from MSDN for WSACleanup]. You'll find there a lot useful information, including what libraries you need to link against, as for the exsample:&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* Minimum supported client: Windows 2000 Professional&lt;br /&gt;
* Minimum supported server: Windows 2000 Server&lt;br /&gt;
* Header: '''Winsock2.h'''&lt;br /&gt;
* Library: '''Ws2_32'''.lib&lt;br /&gt;
* DLL: '''Ws2_32.dll'''&lt;br /&gt;
The header file '''Winsock2.h''' you need to include in your sources. Most likely you have done that already because otherwise you would have gotten a compiler error unable to find the function declaration. The library you need to link against, you can remove any prefix like &amp;quot;lib&amp;quot; and the file extension like &amp;quot;.lib&amp;quot;, &amp;quot;.a&amp;quot; or &amp;quot;.so&amp;quot; - so just type &amp;quot;'''Ws2_32'''&amp;quot; in the linker options. Also make sure you have added the path to that library in the linker include path's options, otherwise the linker will complain that it cannot find that library you want to link against. You also know, that you should distribute '''Ws2_32.dll''' for the runtime version of you app, luckily this one usually ships with Windows anyways, so no need to do something here.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails in the compile/link/run step with a ''Permission denied'' error? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' There are several possible causes for this:&lt;br /&gt;
&lt;br /&gt;
# The output directory does not have read/write access.&lt;br /&gt;
#* Either change control settings on the output directory, or move the project to different location.&lt;br /&gt;
# A previous instance of the executable failed to terminate properly.&lt;br /&gt;
#* Open your system's equivalent of Process/Task Manager, search the list for the name of the executable Code::Blocks is trying to output, and terminate it.&lt;br /&gt;
#* Logging off or rebooting will achieve the same effect.&lt;br /&gt;
# The executable is open.&lt;br /&gt;
#* If the executable is open in a hex-editor or actively being run, close it.&lt;br /&gt;
# Security software is interfering.&lt;br /&gt;
#* The target file is locked while an antivirus programming is scanning it; either wait a few seconds for the antivirus scan to finish, set an exception in the antivirus settings, or (temporarily) disable the antivirus program.&lt;br /&gt;
#* Firewalls with very strict settings sometimes block execution; try reducing the firewall's settings or adding an exception.&lt;br /&gt;
#* Switching security software may have left traces behind that are interfering; hunt down the remnants of the old antivirus/firewall software and remove them.&lt;br /&gt;
# The file/library cannot be found.&lt;br /&gt;
#* Double check all of the compiler and linker [[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|search directories]] (including any [[Global compiler variables|variables]] they may be using) are properly setup.&lt;br /&gt;
# Code::Blocks was improperly installed.&lt;br /&gt;
#* Mixing binaries from a stable release and a nightly build (or even two different nightly builds) is highly likely to cause a slew of problems; [[Installing Code::Blocks|reinstall Code::Blocks]] in an empty directory.&lt;br /&gt;
# Multiple installed compilers are interfering with each other.&lt;br /&gt;
#* If they are not required to keep, completely remove all but the most used compiler.&lt;br /&gt;
#* If several compilers are required, ensure that '''none''' of them are in the ''system'' path (this is so that Code::Blocks will be able to manage all paths).&lt;br /&gt;
#* Also, do not place any compilers in their default installation path (for example &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;), as some compilers are hard-coded to look for headers in a default path ''before'' searching their own respective directories.&lt;br /&gt;
# On windows 7, the service &amp;quot;Application Experience&amp;quot; is not running [http://stackoverflow.com/questions/7655471/ld-exe-cannot-open-output-file-permission-denied#answer-7904469 as explained on stackoverflow].&lt;br /&gt;
See also: [/index.php/topic,15047.0.html Permission denied forums discussion]&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails to link due to ''multiple definition of xyz'' errors? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' GCC 4.6.1 mingw target (Windows) is known to occasionally (and erroneously) report this if link-time optimization (&amp;lt;tt&amp;gt;-flto&amp;lt;/tt&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
First, of course, check that no token has been defined multiple times. If the source code is clean, and yet the errors persist, adding linker switch (''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'')&lt;br /&gt;
 -Wl,--allow-multiple-definition&lt;br /&gt;
will enable the code to link.&lt;br /&gt;
&lt;br /&gt;
See also: [http://sourceware.org/bugzilla/show_bug.cgi?id=12762 Bug 12762]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Talk:Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7346</id>
		<title>Talk:Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Talk:Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7346"/>
		<updated>2012-08-23T06:23:51Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When linking directly to a &amp;lt;tt&amp;gt;dll&amp;lt;/tt&amp;gt; (with MinGW), the file extension is not required, so &amp;lt;tt&amp;gt;wxmsw28u_gcc_cb.dll&amp;lt;/tt&amp;gt; can be simply &amp;lt;tt&amp;gt;wxmsw28u_gcc_cb&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;codeblocks&amp;lt;/tt&amp;gt; can remain the unchanged. [[User:Alpha|Alpha]] 03:26, 23 August 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
I think the mingw gcc version should match the version build nightlies, other wise, there may be some conflict with symbols or other things, currently our nightlies use tdm gcc 4.5.x. [[User:Ollydbg|Ollydbg]] 03:52, 23 August 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yes and yes - however, for Alphas point I wanted to make sure users really understand they are linking against a DLL. Ollydbg: That is certainly true, so it should be mentioned.&lt;br /&gt;
&lt;br /&gt;
...btw: How do you get this nice tag like &amp;quot;Alpha 03:26, 23 August 2012 (CEST)&amp;quot;??? I guess I am using the talk board in a wrong way?&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7345</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7345"/>
		<updated>2012-08-23T06:20:40Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here] ''but exactly the version, the nightly is built on''.&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The MinGW/GCC compiler used to build the nightly - as written in the nightly section and usually available from here [http://tdm-gcc.tdragon.net here]. Note that the version (i.e. v4.5.2) ''and'' flavour (i.e. sjlj or dwarf) ''must'' match. Usually this information is available [/index.php/topic,3299.msg26011.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a:&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
...on the command line (having the [https://subversion.apache.org Subversion tools] installed properly). For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on. Luckily, the SDK is quite stable and existing (stable) plugins rarely change to make use of new SDK methods.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** Change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** Change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly). Note that this change might actually not be needed as MinGW automatically looks for files with the extension *.dll, too...&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** Change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** Change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7344</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7344"/>
		<updated>2012-08-23T06:19:19Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here] ''but exactly the version, the nightly is built on''.&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The MinGW/GCC compiler used to build the nightly - as written in the nightly section and usually available from here [http://tdm-gcc.tdragon.net here]. Note that the version (i.e. v4.5.2) ''and'' flavour (i.e. dwarf) ''must'' match. Usually this information is available [/index.php/topic,3299.msg26011.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a:&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
...on the command line (having the [https://subversion.apache.org Subversion tools] installed properly). For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on. Luckily, the SDK is quite stable and existing (stable) plugins rarely change to make use of new SDK methods.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** Change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** Change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly). Note that this change might actually not be needed as MinGW automatically looks for files with the extension *.dll, too...&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** Change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** Change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7343</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7343"/>
		<updated>2012-08-23T06:16:56Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here] ''but exactly the version, the nightly is built on''.&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The MinGW/GCC compiler used to build the nightly - as written in the nightly section and usually available from here [http://tdm-gcc.tdragon.net here]. Note that the version (i.e. v4.5.2 ''and'' flavour (i.e. dwarf) ''must'' match. Usually this information is available [/index.php/topic,3299.msg26011.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a:&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
...on the command line (having the [https://subversion.apache.org Subversion tools] installed properly). For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on. Luckily, the SDK is quite stable and existing (stable) plugins rarely change to make use of new SDK methods.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** Change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** Change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly). Note that this change might actually not be needed as MinGW automatically looks for files with the extension *.dll, too...&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** Change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** Change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Talk:Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7342</id>
		<title>Talk:Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Talk:Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7342"/>
		<updated>2012-08-23T06:10:17Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When linking directly to a &amp;lt;tt&amp;gt;dll&amp;lt;/tt&amp;gt; (with MinGW), the file extension is not required, so &amp;lt;tt&amp;gt;wxmsw28u_gcc_cb.dll&amp;lt;/tt&amp;gt; can be simply &amp;lt;tt&amp;gt;wxmsw28u_gcc_cb&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;codeblocks&amp;lt;/tt&amp;gt; can remain the unchanged. [[User:Alpha|Alpha]] 03:26, 23 August 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
I think the mingw gcc version should match the version build nightlies, other wise, there may be some conflict with symbols or other things, currently our nightlies use tdm gcc 4.5.x. [[User:Ollydbg|Ollydbg]] 03:52, 23 August 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yes and yes - however, for Alphas point I wanted to make sure users really understand they are linking against a DLL. Ollydbg: That is certainly true, so it should be mentioned.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7337</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7337"/>
		<updated>2012-08-22T20:30:06Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here] ''but exactly the version, the nightly is built on''.&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a:&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
...on the command line (having the [https://subversion.apache.org Subversion tools] installed properly). For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on. Luckily, the SDK is quite stable and existing (stable) plugins rarely change to make use of new SDK methods.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7336</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7336"/>
		<updated>2012-08-22T20:28:33Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here] ''but exactly the version, the nightly is built on''.&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a:&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
...on the command line (having the [https://subversion.apache.org Subversion tools] installed properly). For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7335</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7335"/>
		<updated>2012-08-22T20:26:58Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here] ''but exactly the version, the nightly is built on''.&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7334</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7334"/>
		<updated>2012-08-22T20:26:34Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here] ''but exactly the version, the nightly is built on''.&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7333</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7333"/>
		<updated>2012-08-22T20:19:19Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7332</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7332"/>
		<updated>2012-08-22T20:18:54Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, a general note: This article applies to '''Windows/MinGW compiler only''' for the moment, feel free to extend the article, if you see a similar possibility on other platforms.&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however)) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
* Goto the plugin's project options&lt;br /&gt;
** Adjust the objects output folder, if desired&lt;br /&gt;
** Adjust the plugin's output file name and path, if desired&lt;br /&gt;
** Adjust the execution working directory, if desired&lt;br /&gt;
&lt;br /&gt;
Now you should be able to compile and link the plugin successfully. This will create a plugin version compatible to that nightly. Voilà - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7331</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7331"/>
		<updated>2012-08-22T20:14:04Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however)) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
** Do the same with the linker and resource include path's of the plugin (note that i.e. &amp;quot;..\..\..\devel&amp;quot; should not point to the root of your nightly installation folder)&lt;br /&gt;
* Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;br /&gt;
* Try to compile and resolve any remaining issues which can only occur, in case you didn't do the above steps carefully.&lt;br /&gt;
&lt;br /&gt;
Now you should be able tom compile and link successfully the plugin. This will create a plugin version compatible to that nightly. Voila - feel free to share it with others afterwards.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7330</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7330"/>
		<updated>2012-08-22T20:10:56Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however)) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
** change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
** change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* Goto the &amp;quot;search directories&amp;quot; settings&lt;br /&gt;
** change the compilers C::B related include directories (usually setup relative, like ..\..\..\include) to point to the equivalent path's where you checked out the C::B sources&lt;br /&gt;
** change the compilers wxwidgets related include directories (usually setup like $(#WX.INCLUDE)) to point to the equivalent path's where you extracted the wxWidgets sources, or (in case of global variables like here), just adjust the global compiler variables (GCV's).&lt;br /&gt;
&lt;br /&gt;
Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7329</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7329"/>
		<updated>2012-08-22T20:07:37Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however)) update the specific folder to SVN HEAD, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;br /&gt;
&lt;br /&gt;
Now comes the &amp;quot;hard&amp;quot; part: You'll need to adjust the plugin's project file, so it links against the DLL's from the nightly (yes, MinGW can do so!) instead of the import libraries you usually compile.&lt;br /&gt;
&lt;br /&gt;
Do the following:&lt;br /&gt;
* Goto the plugin's build options&lt;br /&gt;
* Goto linker settings&lt;br /&gt;
&lt;br /&gt;
  * change the wxmsw28$(WX_SUFFIX) part to become &amp;quot;wxmsw28u_gcc_cb.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
  * change the codeblocks part to become &amp;quot;codeblocks.dll&amp;quot; (the one shipped with the nightly)&lt;br /&gt;
* goto the compiler settings&lt;br /&gt;
&lt;br /&gt;
Note that you might need to do this at project and target level - depending on how the plugin is setup.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7328</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7328"/>
		<updated>2012-08-22T20:02:25Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here]. You usually get these, if you issue a&lt;br /&gt;
  svn checkout svn://somepath@1234 working-directory&lt;br /&gt;
For example, to checkout trunk at revision 8150 into the folder you are currently in, issue:&lt;br /&gt;
  svn checkout svn://svn.berlios.de/codeblocks/trunk@8150&lt;br /&gt;
* The sources of the plugin / component you want to change should be included in this checkout, you can (however)) update the specific folder to SVN trunk, if you like.&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7327</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7327"/>
		<updated>2012-08-22T19:57:35Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads here].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html here].&lt;br /&gt;
* The Code::Blocks sources in the revision the nightly is based on from [http://developer.berlios.de/svn/?group_id=5358 here].&lt;br /&gt;
&lt;br /&gt;
One note: This surely ''only'' works, if the SDK version is compatible to the plugin. What won't work is, if the plugin makes use of SDK methods not available in the SDK version the nightly is based on.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7326</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7326"/>
		<updated>2012-08-22T19:54:31Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
* The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads].&lt;br /&gt;
* A nightly of your choice, download from [/index.php/board,20.0.html].&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7325</id>
		<title>Compile Code::Blocks plugins based on a nightly</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compile_Code::Blocks_plugins_based_on_a_nightly&amp;diff=7325"/>
		<updated>2012-08-22T19:53:43Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: Created page with &amp;quot;'''UNDER CONSTRUCTION'''  So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''UNDER CONSTRUCTION'''&lt;br /&gt;
&lt;br /&gt;
So, you don't want to compile wxWidgets or Code::Blocks core but still want to be able to modify a certain plugin (for example) and use the modified plugin in your favourite nightly? Its possible. Here is what you need:&lt;br /&gt;
&lt;br /&gt;
- The wxWidgets ''sources'' (!) - no need to compile them, just download from [http://www.wxwidgets.org/downloads|here].&lt;br /&gt;
- A nightly of your choice, download from [/index.php/board,20.0.html|here].&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=7324</id>
		<title>Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=7324"/>
		<updated>2012-08-22T19:50:47Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
'''Code repository'''&amp;lt;br/&amp;gt;&lt;br /&gt;
* Web-interface by ViewVC: http://svn.berlios.de/viewcvs/codeblocks/trunk/&amp;lt;br/&amp;gt;&lt;br /&gt;
* Subversion URL: &amp;lt;nowiki&amp;gt;http://svn.berlios.de/svnroot/repos/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Mirror''' (Read-only; refreshed every 30 minutes.)&lt;br /&gt;
* Subversion URL: &amp;lt;nowiki&amp;gt;svn://cb.biplab.in/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Web-interface: http://cb.biplab.in/websvn/&lt;br /&gt;
* Git URL: git://cb.biplab.in/codeblocks.git&lt;br /&gt;
* Web-interface:http://cb.biplab.in/cgit/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Articles for Code::Blocks developers.'''&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;u&amp;gt;Documentation&amp;lt;/u&amp;gt;'''&lt;br /&gt;
:[https://www.codeblocks.org/manual.shtml User's manual] in various formats and languages.&lt;br /&gt;
:Also see http://developer.berlios.de/projects/codeblocks/ (under the downloads section).&lt;br /&gt;
:Checkout the SDK documentation at http://developer.berlios.de/project/showfiles.php?group_id=5358 as CHM file(s).&lt;br /&gt;
&lt;br /&gt;
* Compile the complete Code::Blocks from sources on '''[[Installing Code::Blocks from source on Windows|Windows]]''' and '''[[Installing Code::Blocks from source on Linux|Linux]]'''&lt;br /&gt;
&lt;br /&gt;
* '''[[Compile Code::Blocks plugins based on a nightly]]''' w/o the need to compile wxWidgets or the Code::Blocks core.&lt;br /&gt;
&lt;br /&gt;
* '''[http://launchpad.net/products/codeblocks/ Translation]'''&lt;br /&gt;
:Code::Blocks uses Launchpad to coordinate translation efforts.&lt;br /&gt;
&lt;br /&gt;
* '''[[Coding style]]'''&lt;br /&gt;
:The source code formatting style used in the Code::Blocks' source.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a custom lexer for Code::Blocks editor]]'''&lt;br /&gt;
:How to add support for new syntax lighting schemes.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a patch to submit to BerliOS (Patch Tracker)]]'''&lt;br /&gt;
:Creating a diff file and then submitting it to the patch tracker.&lt;br /&gt;
&lt;br /&gt;
* '''[[Unicode Standards]]'''&lt;br /&gt;
:Information about unicode standards and how unicode is handled in Code::Blocks' source code.&lt;br /&gt;
&lt;br /&gt;
* '''[[Various development tips]]'''&lt;br /&gt;
:List of various development tips for Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Scripting Code::Blocks]]'''&lt;br /&gt;
:Information about scripting Code::Blocks with [http://www.squirrel-lang.org/ Squirrel].&lt;br /&gt;
&lt;br /&gt;
* '''[[A short overview about Code::Blocks architecture]]'''&lt;br /&gt;
:Information about the architecture of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Code::Blocks SDK events]]'''&lt;br /&gt;
:Information about the Code::Blocks SDK events and how to work with them.&lt;br /&gt;
&lt;br /&gt;
* '''[[File formats description]]'''&lt;br /&gt;
:Description of the format of each file Code::Blocks produces.&lt;br /&gt;
&lt;br /&gt;
* '''[[Version control]]'''&lt;br /&gt;
:Tips and trick for working with our version control system.&lt;br /&gt;
&lt;br /&gt;
== Plug-In development ==&lt;br /&gt;
&lt;br /&gt;
* [[Creating a simple &amp;quot;Hello World&amp;quot; plugin]]&lt;br /&gt;
* [[Creating a Plug-in which modifies CB's Menus]]&lt;br /&gt;
* [[Creating a plugin that actually does something]]&lt;br /&gt;
* [[Linking the plugin to a Nightly Build]]&lt;br /&gt;
* [[Managing Plug-in Resources]]&lt;br /&gt;
&lt;br /&gt;
* [[Research on doing a Plug-in for embedded help in CB]]&lt;br /&gt;
&lt;br /&gt;
* [[wxSmith extensions]]&lt;br /&gt;
* [[Code::Completion Rewrite]] and [[Code Completion plugin]] and [[Code Completion Design]]&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
Using scripting to extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
* [[Wizard scripts|Creating a new project wizard]]&lt;br /&gt;
&lt;br /&gt;
== Debugging C::B ==&lt;br /&gt;
&lt;br /&gt;
When C::B crashed, it will generate a call-stack file &amp;quot;codeblocks.RPT&amp;quot;, at the crash point, this is a text file, you can open it, if your C::B contains the debug information, it will have file and line information about each call. If it is a stripped version, but you have the debug version of C::B, you can try to run the [/index.php/topic,13129.msg88254.html#msg88254 Debugging made easier], this is a address2line UI interface works under Windows.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=7323</id>
		<title>Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=7323"/>
		<updated>2012-08-22T19:50:26Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
'''Code repository'''&amp;lt;br/&amp;gt;&lt;br /&gt;
* Web-interface by ViewVC: http://svn.berlios.de/viewcvs/codeblocks/trunk/&amp;lt;br/&amp;gt;&lt;br /&gt;
* Subversion URL: &amp;lt;nowiki&amp;gt;http://svn.berlios.de/svnroot/repos/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Mirror''' (Read-only; refreshed every 30 minutes.)&lt;br /&gt;
* Subversion URL: &amp;lt;nowiki&amp;gt;svn://cb.biplab.in/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Web-interface: http://cb.biplab.in/websvn/&lt;br /&gt;
* Git URL: git://cb.biplab.in/codeblocks.git&lt;br /&gt;
* Web-interface:http://cb.biplab.in/cgit/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Articles for Code::Blocks developers.'''&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;u&amp;gt;Documentation&amp;lt;/u&amp;gt;'''&lt;br /&gt;
:[https://www.codeblocks.org/manual.shtml User's manual] in various formats and languages.&lt;br /&gt;
:Also see http://developer.berlios.de/projects/codeblocks/ (under the downloads section).&lt;br /&gt;
:Checkout the SDK documentation at http://developer.berlios.de/project/showfiles.php?group_id=5358 as CHM file(s).&lt;br /&gt;
&lt;br /&gt;
* Compile the complete Code::Blocks from sources on '''[[Installing Code::Blocks from source on Windows|Windows]]''' and '''[[Installing Code::Blocks from source on Linux|Linux]]'''&lt;br /&gt;
&lt;br /&gt;
* '''[[Compile Code::Blocks plugins based on a nightly]]]''' w/o the need to compile wxWidgets or the Code::Blocks core.&lt;br /&gt;
&lt;br /&gt;
* '''[http://launchpad.net/products/codeblocks/ Translation]'''&lt;br /&gt;
:Code::Blocks uses Launchpad to coordinate translation efforts.&lt;br /&gt;
&lt;br /&gt;
* '''[[Coding style]]'''&lt;br /&gt;
:The source code formatting style used in the Code::Blocks' source.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a custom lexer for Code::Blocks editor]]'''&lt;br /&gt;
:How to add support for new syntax lighting schemes.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a patch to submit to BerliOS (Patch Tracker)]]'''&lt;br /&gt;
:Creating a diff file and then submitting it to the patch tracker.&lt;br /&gt;
&lt;br /&gt;
* '''[[Unicode Standards]]'''&lt;br /&gt;
:Information about unicode standards and how unicode is handled in Code::Blocks' source code.&lt;br /&gt;
&lt;br /&gt;
* '''[[Various development tips]]'''&lt;br /&gt;
:List of various development tips for Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Scripting Code::Blocks]]'''&lt;br /&gt;
:Information about scripting Code::Blocks with [http://www.squirrel-lang.org/ Squirrel].&lt;br /&gt;
&lt;br /&gt;
* '''[[A short overview about Code::Blocks architecture]]'''&lt;br /&gt;
:Information about the architecture of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Code::Blocks SDK events]]'''&lt;br /&gt;
:Information about the Code::Blocks SDK events and how to work with them.&lt;br /&gt;
&lt;br /&gt;
* '''[[File formats description]]'''&lt;br /&gt;
:Description of the format of each file Code::Blocks produces.&lt;br /&gt;
&lt;br /&gt;
* '''[[Version control]]'''&lt;br /&gt;
:Tips and trick for working with our version control system.&lt;br /&gt;
&lt;br /&gt;
== Plug-In development ==&lt;br /&gt;
&lt;br /&gt;
* [[Creating a simple &amp;quot;Hello World&amp;quot; plugin]]&lt;br /&gt;
* [[Creating a Plug-in which modifies CB's Menus]]&lt;br /&gt;
* [[Creating a plugin that actually does something]]&lt;br /&gt;
* [[Linking the plugin to a Nightly Build]]&lt;br /&gt;
* [[Managing Plug-in Resources]]&lt;br /&gt;
&lt;br /&gt;
* [[Research on doing a Plug-in for embedded help in CB]]&lt;br /&gt;
&lt;br /&gt;
* [[wxSmith extensions]]&lt;br /&gt;
* [[Code::Completion Rewrite]] and [[Code Completion plugin]] and [[Code Completion Design]]&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
Using scripting to extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
* [[Wizard scripts|Creating a new project wizard]]&lt;br /&gt;
&lt;br /&gt;
== Debugging C::B ==&lt;br /&gt;
&lt;br /&gt;
When C::B crashed, it will generate a call-stack file &amp;quot;codeblocks.RPT&amp;quot;, at the crash point, this is a text file, you can open it, if your C::B contains the debug information, it will have file and line information about each call. If it is a stripped version, but you have the debug version of C::B, you can try to run the [/index.php/topic,13129.msg88254.html#msg88254 Debugging made easier], this is a address2line UI interface works under Windows.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=7322</id>
		<title>Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=7322"/>
		<updated>2012-08-22T19:49:52Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
{{Layout_box2|1=&lt;br /&gt;
'''Code repository'''&amp;lt;br/&amp;gt;&lt;br /&gt;
* Web-interface by ViewVC: http://svn.berlios.de/viewcvs/codeblocks/trunk/&amp;lt;br/&amp;gt;&lt;br /&gt;
* Subversion URL: &amp;lt;nowiki&amp;gt;http://svn.berlios.de/svnroot/repos/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Mirror''' (Read-only; refreshed every 30 minutes.)&lt;br /&gt;
* Subversion URL: &amp;lt;nowiki&amp;gt;svn://cb.biplab.in/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* Web-interface: http://cb.biplab.in/websvn/&lt;br /&gt;
* Git URL: git://cb.biplab.in/codeblocks.git&lt;br /&gt;
* Web-interface:http://cb.biplab.in/cgit/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Articles for Code::Blocks developers.'''&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;u&amp;gt;Documentation&amp;lt;/u&amp;gt;'''&lt;br /&gt;
:[https://www.codeblocks.org/manual.shtml User's manual] in various formats and languages.&lt;br /&gt;
:Also see http://developer.berlios.de/projects/codeblocks/ (under the downloads section).&lt;br /&gt;
:Checkout the SDK documentation at http://developer.berlios.de/project/showfiles.php?group_id=5358 as CHM file(s).&lt;br /&gt;
&lt;br /&gt;
* Compile Code::Blocks from sources on '''[[Installing Code::Blocks from source on Windows|Windows]]''' and '''[[Installing Code::Blocks from source on Linux|Linux]]'''&lt;br /&gt;
&lt;br /&gt;
* '''[[Compile Code::Blocks plugins based on a nightly]]]''' w/o the need to compile wxWidgets or the Code::Blocks core.&lt;br /&gt;
&lt;br /&gt;
* '''[http://launchpad.net/products/codeblocks/ Translation]'''&lt;br /&gt;
:Code::Blocks uses Launchpad to coordinate translation efforts.&lt;br /&gt;
&lt;br /&gt;
* '''[[Coding style]]'''&lt;br /&gt;
:The source code formatting style used in the Code::Blocks' source.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a custom lexer for Code::Blocks editor]]'''&lt;br /&gt;
:How to add support for new syntax lighting schemes.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a patch to submit to BerliOS (Patch Tracker)]]'''&lt;br /&gt;
:Creating a diff file and then submitting it to the patch tracker.&lt;br /&gt;
&lt;br /&gt;
* '''[[Unicode Standards]]'''&lt;br /&gt;
:Information about unicode standards and how unicode is handled in Code::Blocks' source code.&lt;br /&gt;
&lt;br /&gt;
* '''[[Various development tips]]'''&lt;br /&gt;
:List of various development tips for Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Scripting Code::Blocks]]'''&lt;br /&gt;
:Information about scripting Code::Blocks with [http://www.squirrel-lang.org/ Squirrel].&lt;br /&gt;
&lt;br /&gt;
* '''[[A short overview about Code::Blocks architecture]]'''&lt;br /&gt;
:Information about the architecture of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Code::Blocks SDK events]]'''&lt;br /&gt;
:Information about the Code::Blocks SDK events and how to work with them.&lt;br /&gt;
&lt;br /&gt;
* '''[[File formats description]]'''&lt;br /&gt;
:Description of the format of each file Code::Blocks produces.&lt;br /&gt;
&lt;br /&gt;
* '''[[Version control]]'''&lt;br /&gt;
:Tips and trick for working with our version control system.&lt;br /&gt;
&lt;br /&gt;
== Plug-In development ==&lt;br /&gt;
&lt;br /&gt;
* [[Creating a simple &amp;quot;Hello World&amp;quot; plugin]]&lt;br /&gt;
* [[Creating a Plug-in which modifies CB's Menus]]&lt;br /&gt;
* [[Creating a plugin that actually does something]]&lt;br /&gt;
* [[Linking the plugin to a Nightly Build]]&lt;br /&gt;
* [[Managing Plug-in Resources]]&lt;br /&gt;
&lt;br /&gt;
* [[Research on doing a Plug-in for embedded help in CB]]&lt;br /&gt;
&lt;br /&gt;
* [[wxSmith extensions]]&lt;br /&gt;
* [[Code::Completion Rewrite]] and [[Code Completion plugin]] and [[Code Completion Design]]&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
Using scripting to extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
* [[Wizard scripts|Creating a new project wizard]]&lt;br /&gt;
&lt;br /&gt;
== Debugging C::B ==&lt;br /&gt;
&lt;br /&gt;
When C::B crashed, it will generate a call-stack file &amp;quot;codeblocks.RPT&amp;quot;, at the crash point, this is a text file, you can open it, if your C::B contains the debug information, it will have file and line information about each call. If it is a stripped version, but you have the debug version of C::B, you can try to run the [/index.php/topic,13129.msg88254.html#msg88254 Debugging made easier], this is a address2line UI interface works under Windows.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:1a.png&amp;diff=7313</id>
		<title>File:1a.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:1a.png&amp;diff=7313"/>
		<updated>2012-08-06T05:06:00Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: uploaded a new version of &amp;amp;quot;File:1a.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CodeBlocks Opener&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7295</id>
		<title>FAQ-Compiling (errors)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7295"/>
		<updated>2012-06-29T12:54:30Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Q: My build fails with multiple undefined reference errors? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I troubleshoot a compiler problem? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' I would start by turning on full Compiler logging.&lt;br /&gt;
&lt;br /&gt;
This is done by selecting the &amp;quot;Full command line&amp;quot; option Under menu &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Compiler and Debugger&amp;quot; -&amp;gt; Global compiler settings -&amp;gt; [the compiler you use] -&amp;gt; &amp;quot;Other Setting&amp;quot; tab, &amp;quot;Compiler logging&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This option will make Code::Blocks output the exact commands it uses to compile your code.&lt;br /&gt;
&lt;br /&gt;
Things to remember:&lt;br /&gt;
&lt;br /&gt;
* You should review all the commands and their options;&lt;br /&gt;
* If you have compiled your app before, do a ''re-''build (or ''clean'' before build) to see all compiling / linking steps;&lt;br /&gt;
* If you don't know what an option or a command does please read the documentation for the compiler/linker you're using;&lt;br /&gt;
* Look for missing commands;&lt;br /&gt;
* For every source file (&amp;lt;tt&amp;gt;.cpp&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.c&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.d&amp;lt;/tt&amp;gt;; etc) in your project, you must have at least one command in the log. This command must produce an object file (file extension &amp;lt;tt&amp;gt;.o&amp;lt;/tt&amp;gt; if using gcc/g++ and &amp;lt;tt&amp;gt;.obj&amp;lt;/tt&amp;gt; if using Visual Studio);&lt;br /&gt;
* Every object file should be linked in the final executable, if not there are undefined symbols errors;&lt;br /&gt;
* Remember the file extension matters: &amp;lt;tt&amp;gt;*.c&amp;lt;/tt&amp;gt; is compiled as C file, &amp;lt;tt&amp;gt;*.cpp&amp;lt;/tt&amp;gt; is compiled as C++ file. [http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html Read more]&lt;br /&gt;
&lt;br /&gt;
==== Q: My simple C++ program throws up lots of errors - what is going on? ====&lt;br /&gt;
&lt;br /&gt;
If you have a C++ program like this:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
  int main() {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;hello world\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
and when you compile it you get errors like this:&lt;br /&gt;
&lt;br /&gt;
  fatal error: iostream: No such file or directory&lt;br /&gt;
&lt;br /&gt;
then you have probably given your source file a .c extension. If you do that, the GCC compiler (and others) will probably attempt to compile the file as a C program, not as C++. You should always give your C++ source files the extension .cpp to make sure the compiler handles them correctly.&lt;br /&gt;
&lt;br /&gt;
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' A little documentation problem ^^;. The &amp;quot;default compiler&amp;quot; is usually GCC, so when you imported it with &amp;quot;the default compiler&amp;quot;, you told it to use GCC. To fix this situation, go to &amp;quot;Project&amp;quot;, &amp;quot;Build Options&amp;quot; and select VC++ Toolkit as your compiler.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.&lt;br /&gt;
&lt;br /&gt;
From now onwards, for all new projects the Microsoft compiler will be taken by default.&lt;br /&gt;
&lt;br /&gt;
==== Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to add WXUSINGDLL in &amp;quot;Project-&amp;gt;Build options-&amp;gt;Compiler #defines&amp;quot; and rebuild your project (or create a new project and use the &amp;quot;Using wxWidgets DLL&amp;quot; project option which adds &amp;quot;-DWXUSINGDLL&amp;quot; to Project-&amp;gt;Build options-&amp;gt;Other options).&lt;br /&gt;
Other errors with the same resolution are:&lt;br /&gt;
'unresolved external symbol &amp;quot;char const * const wxEmptyString&amp;quot; (?wxEmptyString@@3PBDB)' or similar.&lt;br /&gt;
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.&lt;br /&gt;
&lt;br /&gt;
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Sorry, no fix for your problem...&lt;br /&gt;
&lt;br /&gt;
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which come with Visual C++ (VC) which isn't free, unfortunately.&lt;br /&gt;
&lt;br /&gt;
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]&lt;br /&gt;
&lt;br /&gt;
The libraries that can be obtained free of charge are:&lt;br /&gt;
&lt;br /&gt;
Paths:&lt;br /&gt;
 (VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 (PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 (NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
&lt;br /&gt;
C runtime libs:&lt;br /&gt;
 LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)&lt;br /&gt;
 LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)&lt;br /&gt;
 MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)&lt;br /&gt;
 LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)&lt;br /&gt;
 LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)&lt;br /&gt;
 MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)&lt;br /&gt;
&lt;br /&gt;
C++ libs:&lt;br /&gt;
 LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)&lt;br /&gt;
 LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)&lt;br /&gt;
 MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)&lt;br /&gt;
 LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)&lt;br /&gt;
 LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)&lt;br /&gt;
 MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)&lt;br /&gt;
&lt;br /&gt;
Try setting the library linker directories to:&lt;br /&gt;
 C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
in that order.&lt;br /&gt;
&lt;br /&gt;
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are&lt;br /&gt;
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you&lt;br /&gt;
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for &amp;quot;exports.sed&amp;quot; for detailed steps.&lt;br /&gt;
&lt;br /&gt;
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp&lt;br /&gt;
&lt;br /&gt;
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit&lt;br /&gt;
&lt;br /&gt;
==== Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails with multiple ''undefined reference'' errors? ====&lt;br /&gt;
&lt;br /&gt;
''Example:''&lt;br /&gt;
 undefined reference to `WSACleanup@8&lt;br /&gt;
 undefined reference to `WSACleanup@0&lt;br /&gt;
&lt;br /&gt;
'''A:''' Most of the time it is because the required library is not linked with your project. Go to ''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'' and add the required library or libraries.&lt;br /&gt;
&lt;br /&gt;
If the error includes a line number, it is likely that this is a problem with your code. Track down down your function declarations and implementations. Ensure they all match up, are spelled correctly, and have the correct scope resolution.&lt;br /&gt;
&lt;br /&gt;
''VERY'' often you can get help by just googling for the name of the undefined reference, for this example its &amp;quot;WSACleanup&amp;quot;. Usually one of the first links is the SDK documentation, like [http://msdn.microsoft.com/en-us/library/windows/desktop/ms741549%28v=vs.85%29.aspx this from MSDN for WSACleanup]. You'll find there a lot useful information, including what libraries you need to link against, as for the exsample:&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* Minimum supported client: Windows 2000 Professional&lt;br /&gt;
* Minimum supported server: Windows 2000 Server&lt;br /&gt;
* Header: '''Winsock2.h'''&lt;br /&gt;
* Library: '''Ws2_32'''.lib&lt;br /&gt;
* DLL: '''Ws2_32.dll'''&lt;br /&gt;
The header file '''Winsock2.h''' you need to include in your sources. Most likely you have done that already because otherwise you would have gotten a compiler error unable to find the function declaration. The library you need to link against, you can remove any prefix like &amp;quot;lib&amp;quot; and the file extension like &amp;quot;.lib&amp;quot;, &amp;quot;.a&amp;quot; or &amp;quot;.so&amp;quot; - so just type &amp;quot;'''Ws2_32'''&amp;quot; in the linker options. Also make sure you have added the path to that library in the linker include path's options, otherwise the linker will complain that it cannot find that library you want to link against. You also know, that you should distribute '''Ws2_32.dll''' for the runtime version of you app, luckily this one usually ships with Windows anyways, so no need to do something here.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails in the compile/link/run step with a ''Permission denied'' error? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' There are several possible causes for this:&lt;br /&gt;
&lt;br /&gt;
# The output directory does not have read/write access.&lt;br /&gt;
#* Either change control settings on the output directory, or move the project to different location.&lt;br /&gt;
# A previous instance of the executable failed to terminate properly.&lt;br /&gt;
#* Open your system's equivalent of Process/Task Manager, search the list for the name of the executable Code::Blocks is trying to output, and terminate it.&lt;br /&gt;
#* Logging off or rebooting will achieve the same effect.&lt;br /&gt;
# The executable is open.&lt;br /&gt;
#* If the executable is open in a hex-editor or actively being run, close it.&lt;br /&gt;
# Security software is interfering.&lt;br /&gt;
#* The target file is locked while an antivirus programming is scanning it; either wait a few seconds for the antivirus scan to finish, set an exception in the antivirus settings, or (temporarily) disable the antivirus program.&lt;br /&gt;
#* Firewalls with very strict settings sometimes block execution; try reducing the firewall's settings or adding an exception.&lt;br /&gt;
#* Switching security software may have left traces behind that are interfering; hunt down the remnants of the old antivirus/firewall software and remove them.&lt;br /&gt;
# The file/library cannot be found.&lt;br /&gt;
#* Double check all of the compiler and linker [[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|search directories]] (including any [[Global compiler variables|variables]] they may be using) are properly setup.&lt;br /&gt;
# Code::Blocks was improperly installed.&lt;br /&gt;
#* Mixing binaries from a stable release and a nightly build (or even two different nightly builds) is highly likely to cause a slew of problems; [[Installing Code::Blocks|reinstall Code::Blocks]] in an empty directory.&lt;br /&gt;
# Multiple installed compilers are interfering with each other.&lt;br /&gt;
#* If they are not required to keep, completely remove all but the most used compiler.&lt;br /&gt;
#* If several compilers are required, ensure that '''none''' of them are in the ''system'' path (this is so that Code::Blocks will be able to manage all paths).&lt;br /&gt;
#* Also, do not place any compilers in their default installation path (for example &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;), as some compilers are hard-coded to look for headers in a default path ''before'' searching their own respective directories.&lt;br /&gt;
&lt;br /&gt;
See also: [/index.php/topic,15047.0.html Permission denied forums discussion]&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails to link due to ''multiple definition of xyz'' errors? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' GCC 4.6.1 mingw target (Windows) is known to occasionally (and erroneously) report this if link-time optimization (&amp;lt;tt&amp;gt;-flto&amp;lt;/tt&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
First, of course, check that no token has been defined multiple times. If the source code is clean, and yet the errors persist, adding linker switch (''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'')&lt;br /&gt;
 -Wl,--allow-multiple-definition&lt;br /&gt;
will enable the code to link.&lt;br /&gt;
&lt;br /&gt;
See also: [http://sourceware.org/bugzilla/show_bug.cgi?id=12762 Bug 12762]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7294</id>
		<title>FAQ-Compiling (errors)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7294"/>
		<updated>2012-06-29T12:52:47Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Q: My build fails with multiple undefined reference errors? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I troubleshoot a compiler problem? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' I would start by turning on full Compiler logging.&lt;br /&gt;
&lt;br /&gt;
This is done by selecting the &amp;quot;Full command line&amp;quot; option Under menu &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Compiler and Debugger&amp;quot; -&amp;gt; Global compiler settings -&amp;gt; [the compiler you use] -&amp;gt; &amp;quot;Other Setting&amp;quot; tab, &amp;quot;Compiler logging&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This option will make Code::Blocks output the exact commands it uses to compile your code.&lt;br /&gt;
&lt;br /&gt;
Things to remember:&lt;br /&gt;
&lt;br /&gt;
* You should review all the commands and their options;&lt;br /&gt;
* If you have compiled your app before, do a ''re-''build (or ''clean'' before build) to see all compiling / linking steps;&lt;br /&gt;
* If you don't know what an option or a command does please read the documentation for the compiler/linker you're using;&lt;br /&gt;
* Look for missing commands;&lt;br /&gt;
* For every source file (&amp;lt;tt&amp;gt;.cpp&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.c&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.d&amp;lt;/tt&amp;gt;; etc) in your project, you must have at least one command in the log. This command must produce an object file (file extension &amp;lt;tt&amp;gt;.o&amp;lt;/tt&amp;gt; if using gcc/g++ and &amp;lt;tt&amp;gt;.obj&amp;lt;/tt&amp;gt; if using Visual Studio);&lt;br /&gt;
* Every object file should be linked in the final executable, if not there are undefined symbols errors;&lt;br /&gt;
* Remember the file extension matters: &amp;lt;tt&amp;gt;*.c&amp;lt;/tt&amp;gt; is compiled as C file, &amp;lt;tt&amp;gt;*.cpp&amp;lt;/tt&amp;gt; is compiled as C++ file. [http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html Read more]&lt;br /&gt;
&lt;br /&gt;
==== Q: My simple C++ program throws up lots of errors - what is going on? ====&lt;br /&gt;
&lt;br /&gt;
If you have a C++ program like this:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
  int main() {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;hello world\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
and when you compile it you get errors like this:&lt;br /&gt;
&lt;br /&gt;
  fatal error: iostream: No such file or directory&lt;br /&gt;
&lt;br /&gt;
then you have probably given your source file a .c extension. If you do that, the GCC compiler (and others) will probably attempt to compile the file as a C program, not as C++. You should always give your C++ source files the extension .cpp to make sure the compiler handles them correctly.&lt;br /&gt;
&lt;br /&gt;
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' A little documentation problem ^^;. The &amp;quot;default compiler&amp;quot; is usually GCC, so when you imported it with &amp;quot;the default compiler&amp;quot;, you told it to use GCC. To fix this situation, go to &amp;quot;Project&amp;quot;, &amp;quot;Build Options&amp;quot; and select VC++ Toolkit as your compiler.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.&lt;br /&gt;
&lt;br /&gt;
From now onwards, for all new projects the Microsoft compiler will be taken by default.&lt;br /&gt;
&lt;br /&gt;
==== Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to add WXUSINGDLL in &amp;quot;Project-&amp;gt;Build options-&amp;gt;Compiler #defines&amp;quot; and rebuild your project (or create a new project and use the &amp;quot;Using wxWidgets DLL&amp;quot; project option which adds &amp;quot;-DWXUSINGDLL&amp;quot; to Project-&amp;gt;Build options-&amp;gt;Other options).&lt;br /&gt;
Other errors with the same resolution are:&lt;br /&gt;
'unresolved external symbol &amp;quot;char const * const wxEmptyString&amp;quot; (?wxEmptyString@@3PBDB)' or similar.&lt;br /&gt;
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.&lt;br /&gt;
&lt;br /&gt;
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Sorry, no fix for your problem...&lt;br /&gt;
&lt;br /&gt;
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which come with Visual C++ (VC) which isn't free, unfortunately.&lt;br /&gt;
&lt;br /&gt;
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]&lt;br /&gt;
&lt;br /&gt;
The libraries that can be obtained free of charge are:&lt;br /&gt;
&lt;br /&gt;
Paths:&lt;br /&gt;
 (VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 (PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 (NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
&lt;br /&gt;
C runtime libs:&lt;br /&gt;
 LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)&lt;br /&gt;
 LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)&lt;br /&gt;
 MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)&lt;br /&gt;
 LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)&lt;br /&gt;
 LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)&lt;br /&gt;
 MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)&lt;br /&gt;
&lt;br /&gt;
C++ libs:&lt;br /&gt;
 LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)&lt;br /&gt;
 LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)&lt;br /&gt;
 MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)&lt;br /&gt;
 LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)&lt;br /&gt;
 LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)&lt;br /&gt;
 MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)&lt;br /&gt;
&lt;br /&gt;
Try setting the library linker directories to:&lt;br /&gt;
 C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
in that order.&lt;br /&gt;
&lt;br /&gt;
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are&lt;br /&gt;
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you&lt;br /&gt;
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for &amp;quot;exports.sed&amp;quot; for detailed steps.&lt;br /&gt;
&lt;br /&gt;
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp&lt;br /&gt;
&lt;br /&gt;
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit&lt;br /&gt;
&lt;br /&gt;
==== Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails with multiple ''undefined reference'' errors? ====&lt;br /&gt;
&lt;br /&gt;
''Example:''&lt;br /&gt;
 undefined reference to `WSACleanup@8&lt;br /&gt;
 undefined reference to `WSACleanup@0&lt;br /&gt;
&lt;br /&gt;
'''A:''' Most of the time it is because the required library is not linked with your project. Go to ''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'' and add the required library or libraries.&lt;br /&gt;
&lt;br /&gt;
If the error includes a line number, it is likely that this is a problem with your code. Track down down your function declarations and implementations. Ensure they all match up, are spelled correctly, and have the correct scope resolution.&lt;br /&gt;
&lt;br /&gt;
''VERY'' often you can get help by just googling for the name of the undefined reference, for this example its &amp;quot;WSACleanup&amp;quot;. Usually one of the first links is the SDK documentation, like [http://msdn.microsoft.com/en-us/library/windows/desktop/ms741549%28v=vs.85%29.aspx this from MSDN for WSACleanup]. You'll find there a lot useful information, including what libraries you need to link against, as for the exsample:&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* Minimum supported client: Windows 2000 Professional&lt;br /&gt;
* Minimum supported server: Windows 2000 Server&lt;br /&gt;
* Header: '''Winsock2.h'''&lt;br /&gt;
* Library: '''Ws2_32'''.lib&lt;br /&gt;
* DLL: '''Ws2_32.dll'''&lt;br /&gt;
The header file '''Winsock2.h''' you need to include in your sources. Most likely you have done that already because otherwise you would have gotten a compiler error unable to find the function declaration. The library you need to link against, you can remove the prefix and type &amp;quot;'''Ws2_32'''&amp;quot; in the linker options (make sure you have added the path to that library in the linker include path's options). You also know, that you should distribute '''Ws2_32.dll''' for the runtime version of you app, luckily this one usually ships with Windows anyways, so no need to do something here.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails in the compile/link/run step with a ''Permission denied'' error? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' There are several possible causes for this:&lt;br /&gt;
&lt;br /&gt;
# The output directory does not have read/write access.&lt;br /&gt;
#* Either change control settings on the output directory, or move the project to different location.&lt;br /&gt;
# A previous instance of the executable failed to terminate properly.&lt;br /&gt;
#* Open your system's equivalent of Process/Task Manager, search the list for the name of the executable Code::Blocks is trying to output, and terminate it.&lt;br /&gt;
#* Logging off or rebooting will achieve the same effect.&lt;br /&gt;
# The executable is open.&lt;br /&gt;
#* If the executable is open in a hex-editor or actively being run, close it.&lt;br /&gt;
# Security software is interfering.&lt;br /&gt;
#* The target file is locked while an antivirus programming is scanning it; either wait a few seconds for the antivirus scan to finish, set an exception in the antivirus settings, or (temporarily) disable the antivirus program.&lt;br /&gt;
#* Firewalls with very strict settings sometimes block execution; try reducing the firewall's settings or adding an exception.&lt;br /&gt;
#* Switching security software may have left traces behind that are interfering; hunt down the remnants of the old antivirus/firewall software and remove them.&lt;br /&gt;
# The file/library cannot be found.&lt;br /&gt;
#* Double check all of the compiler and linker [[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|search directories]] (including any [[Global compiler variables|variables]] they may be using) are properly setup.&lt;br /&gt;
# Code::Blocks was improperly installed.&lt;br /&gt;
#* Mixing binaries from a stable release and a nightly build (or even two different nightly builds) is highly likely to cause a slew of problems; [[Installing Code::Blocks|reinstall Code::Blocks]] in an empty directory.&lt;br /&gt;
# Multiple installed compilers are interfering with each other.&lt;br /&gt;
#* If they are not required to keep, completely remove all but the most used compiler.&lt;br /&gt;
#* If several compilers are required, ensure that '''none''' of them are in the ''system'' path (this is so that Code::Blocks will be able to manage all paths).&lt;br /&gt;
#* Also, do not place any compilers in their default installation path (for example &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;), as some compilers are hard-coded to look for headers in a default path ''before'' searching their own respective directories.&lt;br /&gt;
&lt;br /&gt;
See also: [/index.php/topic,15047.0.html Permission denied forums discussion]&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails to link due to ''multiple definition of xyz'' errors? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' GCC 4.6.1 mingw target (Windows) is known to occasionally (and erroneously) report this if link-time optimization (&amp;lt;tt&amp;gt;-flto&amp;lt;/tt&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
First, of course, check that no token has been defined multiple times. If the source code is clean, and yet the errors persist, adding linker switch (''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'')&lt;br /&gt;
 -Wl,--allow-multiple-definition&lt;br /&gt;
will enable the code to link.&lt;br /&gt;
&lt;br /&gt;
See also: [http://sourceware.org/bugzilla/show_bug.cgi?id=12762 Bug 12762]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7293</id>
		<title>FAQ-Compiling (errors)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7293"/>
		<updated>2012-06-29T12:51:04Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Q: My build fails with multiple undefined reference errors? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I troubleshoot a compiler problem? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' I would start by turning on full Compiler logging.&lt;br /&gt;
&lt;br /&gt;
This is done by selecting the &amp;quot;Full command line&amp;quot; option Under menu &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Compiler and Debugger&amp;quot; -&amp;gt; Global compiler settings -&amp;gt; [the compiler you use] -&amp;gt; &amp;quot;Other Setting&amp;quot; tab, &amp;quot;Compiler logging&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This option will make Code::Blocks output the exact commands it uses to compile your code.&lt;br /&gt;
&lt;br /&gt;
Things to remember:&lt;br /&gt;
&lt;br /&gt;
* You should review all the commands and their options;&lt;br /&gt;
* If you have compiled your app before, do a ''re-''build (or ''clean'' before build) to see all compiling / linking steps;&lt;br /&gt;
* If you don't know what an option or a command does please read the documentation for the compiler/linker you're using;&lt;br /&gt;
* Look for missing commands;&lt;br /&gt;
* For every source file (&amp;lt;tt&amp;gt;.cpp&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.c&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.d&amp;lt;/tt&amp;gt;; etc) in your project, you must have at least one command in the log. This command must produce an object file (file extension &amp;lt;tt&amp;gt;.o&amp;lt;/tt&amp;gt; if using gcc/g++ and &amp;lt;tt&amp;gt;.obj&amp;lt;/tt&amp;gt; if using Visual Studio);&lt;br /&gt;
* Every object file should be linked in the final executable, if not there are undefined symbols errors;&lt;br /&gt;
* Remember the file extension matters: &amp;lt;tt&amp;gt;*.c&amp;lt;/tt&amp;gt; is compiled as C file, &amp;lt;tt&amp;gt;*.cpp&amp;lt;/tt&amp;gt; is compiled as C++ file. [http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html Read more]&lt;br /&gt;
&lt;br /&gt;
==== Q: My simple C++ program throws up lots of errors - what is going on? ====&lt;br /&gt;
&lt;br /&gt;
If you have a C++ program like this:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
  int main() {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;hello world\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
and when you compile it you get errors like this:&lt;br /&gt;
&lt;br /&gt;
  fatal error: iostream: No such file or directory&lt;br /&gt;
&lt;br /&gt;
then you have probably given your source file a .c extension. If you do that, the GCC compiler (and others) will probably attempt to compile the file as a C program, not as C++. You should always give your C++ source files the extension .cpp to make sure the compiler handles them correctly.&lt;br /&gt;
&lt;br /&gt;
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' A little documentation problem ^^;. The &amp;quot;default compiler&amp;quot; is usually GCC, so when you imported it with &amp;quot;the default compiler&amp;quot;, you told it to use GCC. To fix this situation, go to &amp;quot;Project&amp;quot;, &amp;quot;Build Options&amp;quot; and select VC++ Toolkit as your compiler.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.&lt;br /&gt;
&lt;br /&gt;
From now onwards, for all new projects the Microsoft compiler will be taken by default.&lt;br /&gt;
&lt;br /&gt;
==== Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to add WXUSINGDLL in &amp;quot;Project-&amp;gt;Build options-&amp;gt;Compiler #defines&amp;quot; and rebuild your project (or create a new project and use the &amp;quot;Using wxWidgets DLL&amp;quot; project option which adds &amp;quot;-DWXUSINGDLL&amp;quot; to Project-&amp;gt;Build options-&amp;gt;Other options).&lt;br /&gt;
Other errors with the same resolution are:&lt;br /&gt;
'unresolved external symbol &amp;quot;char const * const wxEmptyString&amp;quot; (?wxEmptyString@@3PBDB)' or similar.&lt;br /&gt;
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.&lt;br /&gt;
&lt;br /&gt;
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Sorry, no fix for your problem...&lt;br /&gt;
&lt;br /&gt;
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which come with Visual C++ (VC) which isn't free, unfortunately.&lt;br /&gt;
&lt;br /&gt;
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]&lt;br /&gt;
&lt;br /&gt;
The libraries that can be obtained free of charge are:&lt;br /&gt;
&lt;br /&gt;
Paths:&lt;br /&gt;
 (VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 (PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 (NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
&lt;br /&gt;
C runtime libs:&lt;br /&gt;
 LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)&lt;br /&gt;
 LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)&lt;br /&gt;
 MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)&lt;br /&gt;
 LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)&lt;br /&gt;
 LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)&lt;br /&gt;
 MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)&lt;br /&gt;
&lt;br /&gt;
C++ libs:&lt;br /&gt;
 LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)&lt;br /&gt;
 LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)&lt;br /&gt;
 MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)&lt;br /&gt;
 LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)&lt;br /&gt;
 LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)&lt;br /&gt;
 MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)&lt;br /&gt;
&lt;br /&gt;
Try setting the library linker directories to:&lt;br /&gt;
 C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
in that order.&lt;br /&gt;
&lt;br /&gt;
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are&lt;br /&gt;
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you&lt;br /&gt;
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for &amp;quot;exports.sed&amp;quot; for detailed steps.&lt;br /&gt;
&lt;br /&gt;
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp&lt;br /&gt;
&lt;br /&gt;
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit&lt;br /&gt;
&lt;br /&gt;
==== Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails with multiple ''undefined reference'' errors? ====&lt;br /&gt;
&lt;br /&gt;
''Example:''&lt;br /&gt;
 undefined reference to `WSACleanup@8&lt;br /&gt;
 undefined reference to `WSACleanup@0&lt;br /&gt;
&lt;br /&gt;
'''A:''' Most of the time it is because the required library is not linked with your project. Go to ''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'' and add the required library or libraries.&lt;br /&gt;
&lt;br /&gt;
If the error includes a line number, it is likely that this is a problem with your code. Track down down your function declarations and implementations. Ensure they all match up, are spelled correctly, and have the correct scope resolution.&lt;br /&gt;
&lt;br /&gt;
''VERY'' often you can get help by just googling for the name of the undefined reference, for this example its &amp;quot;WSACleanup&amp;quot;. Usually one of the first links is the SDK documentation, like [http://msdn.microsoft.com/en-us/library/windows/desktop/ms741549%28v=vs.85%29.aspx this from MSDN for WSACleanup]. You'll find there a lot useful information, including what libraries you need to link against, as for the exsample:&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* Minimum supported client: Windows 2000 Professional&lt;br /&gt;
* Minimum supported server: Windows 2000 Server&lt;br /&gt;
* Header: '''Winsock2.h'''&lt;br /&gt;
* Library: '''Ws2_32'''.lib&lt;br /&gt;
* DLL: '''Ws2_32.dll'''&lt;br /&gt;
The header file '''Winsock2.h''' you need to include (most likely you have already in your app). The library you need to link against, you can remove the prefix and type &amp;quot;'''Ws2_32'''&amp;quot; in the linker options (make sure you have added the path to that library in the linker include path's options). You also know, that you should distribute '''Ws2_32.dll''' for the runtime version of you app, luckily this one usually ships with Windows anyways, so no need to do something here.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails in the compile/link/run step with a ''Permission denied'' error? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' There are several possible causes for this:&lt;br /&gt;
&lt;br /&gt;
# The output directory does not have read/write access.&lt;br /&gt;
#* Either change control settings on the output directory, or move the project to different location.&lt;br /&gt;
# A previous instance of the executable failed to terminate properly.&lt;br /&gt;
#* Open your system's equivalent of Process/Task Manager, search the list for the name of the executable Code::Blocks is trying to output, and terminate it.&lt;br /&gt;
#* Logging off or rebooting will achieve the same effect.&lt;br /&gt;
# The executable is open.&lt;br /&gt;
#* If the executable is open in a hex-editor or actively being run, close it.&lt;br /&gt;
# Security software is interfering.&lt;br /&gt;
#* The target file is locked while an antivirus programming is scanning it; either wait a few seconds for the antivirus scan to finish, set an exception in the antivirus settings, or (temporarily) disable the antivirus program.&lt;br /&gt;
#* Firewalls with very strict settings sometimes block execution; try reducing the firewall's settings or adding an exception.&lt;br /&gt;
#* Switching security software may have left traces behind that are interfering; hunt down the remnants of the old antivirus/firewall software and remove them.&lt;br /&gt;
# The file/library cannot be found.&lt;br /&gt;
#* Double check all of the compiler and linker [[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|search directories]] (including any [[Global compiler variables|variables]] they may be using) are properly setup.&lt;br /&gt;
# Code::Blocks was improperly installed.&lt;br /&gt;
#* Mixing binaries from a stable release and a nightly build (or even two different nightly builds) is highly likely to cause a slew of problems; [[Installing Code::Blocks|reinstall Code::Blocks]] in an empty directory.&lt;br /&gt;
# Multiple installed compilers are interfering with each other.&lt;br /&gt;
#* If they are not required to keep, completely remove all but the most used compiler.&lt;br /&gt;
#* If several compilers are required, ensure that '''none''' of them are in the ''system'' path (this is so that Code::Blocks will be able to manage all paths).&lt;br /&gt;
#* Also, do not place any compilers in their default installation path (for example &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;), as some compilers are hard-coded to look for headers in a default path ''before'' searching their own respective directories.&lt;br /&gt;
&lt;br /&gt;
See also: [/index.php/topic,15047.0.html Permission denied forums discussion]&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails to link due to ''multiple definition of xyz'' errors? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' GCC 4.6.1 mingw target (Windows) is known to occasionally (and erroneously) report this if link-time optimization (&amp;lt;tt&amp;gt;-flto&amp;lt;/tt&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
First, of course, check that no token has been defined multiple times. If the source code is clean, and yet the errors persist, adding linker switch (''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'')&lt;br /&gt;
 -Wl,--allow-multiple-definition&lt;br /&gt;
will enable the code to link.&lt;br /&gt;
&lt;br /&gt;
See also: [http://sourceware.org/bugzilla/show_bug.cgi?id=12762 Bug 12762]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7292</id>
		<title>FAQ-Compiling (errors)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)&amp;diff=7292"/>
		<updated>2012-06-29T12:50:23Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Q: My build fails with multiple undefined reference errors? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I troubleshoot a compiler problem? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' I would start by turning on full Compiler logging.&lt;br /&gt;
&lt;br /&gt;
This is done by selecting the &amp;quot;Full command line&amp;quot; option Under menu &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Compiler and Debugger&amp;quot; -&amp;gt; Global compiler settings -&amp;gt; [the compiler you use] -&amp;gt; &amp;quot;Other Setting&amp;quot; tab, &amp;quot;Compiler logging&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This option will make Code::Blocks output the exact commands it uses to compile your code.&lt;br /&gt;
&lt;br /&gt;
Things to remember:&lt;br /&gt;
&lt;br /&gt;
* You should review all the commands and their options;&lt;br /&gt;
* If you have compiled your app before, do a ''re-''build (or ''clean'' before build) to see all compiling / linking steps;&lt;br /&gt;
* If you don't know what an option or a command does please read the documentation for the compiler/linker you're using;&lt;br /&gt;
* Look for missing commands;&lt;br /&gt;
* For every source file (&amp;lt;tt&amp;gt;.cpp&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.c&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;.d&amp;lt;/tt&amp;gt;; etc) in your project, you must have at least one command in the log. This command must produce an object file (file extension &amp;lt;tt&amp;gt;.o&amp;lt;/tt&amp;gt; if using gcc/g++ and &amp;lt;tt&amp;gt;.obj&amp;lt;/tt&amp;gt; if using Visual Studio);&lt;br /&gt;
* Every object file should be linked in the final executable, if not there are undefined symbols errors;&lt;br /&gt;
* Remember the file extension matters: &amp;lt;tt&amp;gt;*.c&amp;lt;/tt&amp;gt; is compiled as C file, &amp;lt;tt&amp;gt;*.cpp&amp;lt;/tt&amp;gt; is compiled as C++ file. [http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html Read more]&lt;br /&gt;
&lt;br /&gt;
==== Q: My simple C++ program throws up lots of errors - what is going on? ====&lt;br /&gt;
&lt;br /&gt;
If you have a C++ program like this:&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
  int main() {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;hello world\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
and when you compile it you get errors like this:&lt;br /&gt;
&lt;br /&gt;
  fatal error: iostream: No such file or directory&lt;br /&gt;
&lt;br /&gt;
then you have probably given your source file a .c extension. If you do that, the GCC compiler (and others) will probably attempt to compile the file as a C program, not as C++. You should always give your C++ source files the extension .cpp to make sure the compiler handles them correctly.&lt;br /&gt;
&lt;br /&gt;
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' A little documentation problem ^^;. The &amp;quot;default compiler&amp;quot; is usually GCC, so when you imported it with &amp;quot;the default compiler&amp;quot;, you told it to use GCC. To fix this situation, go to &amp;quot;Project&amp;quot;, &amp;quot;Build Options&amp;quot; and select VC++ Toolkit as your compiler.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.&lt;br /&gt;
&lt;br /&gt;
From now onwards, for all new projects the Microsoft compiler will be taken by default.&lt;br /&gt;
&lt;br /&gt;
==== Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to add WXUSINGDLL in &amp;quot;Project-&amp;gt;Build options-&amp;gt;Compiler #defines&amp;quot; and rebuild your project (or create a new project and use the &amp;quot;Using wxWidgets DLL&amp;quot; project option which adds &amp;quot;-DWXUSINGDLL&amp;quot; to Project-&amp;gt;Build options-&amp;gt;Other options).&lt;br /&gt;
Other errors with the same resolution are:&lt;br /&gt;
'unresolved external symbol &amp;quot;char const * const wxEmptyString&amp;quot; (?wxEmptyString@@3PBDB)' or similar.&lt;br /&gt;
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.&lt;br /&gt;
&lt;br /&gt;
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Sorry, no fix for your problem...&lt;br /&gt;
&lt;br /&gt;
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which come with Visual C++ (VC) which isn't free, unfortunately.&lt;br /&gt;
&lt;br /&gt;
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]&lt;br /&gt;
&lt;br /&gt;
The libraries that can be obtained free of charge are:&lt;br /&gt;
&lt;br /&gt;
Paths:&lt;br /&gt;
 (VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 (PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 (NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
&lt;br /&gt;
C runtime libs:&lt;br /&gt;
 LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)&lt;br /&gt;
 LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)&lt;br /&gt;
 MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)&lt;br /&gt;
 LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)&lt;br /&gt;
 LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)&lt;br /&gt;
 MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)&lt;br /&gt;
&lt;br /&gt;
C++ libs:&lt;br /&gt;
 LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)&lt;br /&gt;
 LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)&lt;br /&gt;
 MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)&lt;br /&gt;
 LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)&lt;br /&gt;
 LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)&lt;br /&gt;
 MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)&lt;br /&gt;
&lt;br /&gt;
Try setting the library linker directories to:&lt;br /&gt;
 C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
in that order.&lt;br /&gt;
&lt;br /&gt;
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are&lt;br /&gt;
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you&lt;br /&gt;
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for &amp;quot;exports.sed&amp;quot; for detailed steps.&lt;br /&gt;
&lt;br /&gt;
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp&lt;br /&gt;
&lt;br /&gt;
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit&lt;br /&gt;
&lt;br /&gt;
==== Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails with multiple ''undefined reference'' errors? ====&lt;br /&gt;
&lt;br /&gt;
''Example:''&lt;br /&gt;
 undefined reference to `WSACleanup@8&lt;br /&gt;
 undefined reference to `WSACleanup@0&lt;br /&gt;
&lt;br /&gt;
'''A:''' Most of the time it is because the required library is not linked with your project. Go to ''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'' and add the required library or libraries.&lt;br /&gt;
&lt;br /&gt;
If the error includes a line number, it is likely that this is a problem with your code. Track down down your function declarations and implementations. Ensure they all match up, are spelled correctly, and have the correct scope resolution.&lt;br /&gt;
&lt;br /&gt;
''VERY'' often you can get help by just googling for the name of the undefined reference, for his example &amp;quot;WSACleanup&amp;quot;. Usually one of the first links is the SDK documentation, like [http://msdn.microsoft.com/en-us/library/windows/desktop/ms741549%28v=vs.85%29.aspx this from MSDN for WSACleanup]. You'll find there a lot useful information, including what libraries you need to link against, as for the exsample:&lt;br /&gt;
'''Requirements'''&lt;br /&gt;
* Minimum supported client: Windows 2000 Professional&lt;br /&gt;
* Minimum supported server: Windows 2000 Server&lt;br /&gt;
* Header: '''Winsock2.h'''&lt;br /&gt;
* Library: '''Ws2_32'''.lib&lt;br /&gt;
* DLL: '''Ws2_32.dll'''&lt;br /&gt;
The header file '''Winsock2.h''' you need to include (most likely you have already in your app). The library you need to link against, you can remove the prefix and type &amp;quot;'''Ws2_32'''&amp;quot; in the linker options (make sure you have added the path to that library in the linker include path's options). You also know, that you should distribute '''Ws2_32.dll''' for the runtime version of you app, luckily this one usually ships with Windows anyways, so no need to do something here.&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails in the compile/link/run step with a ''Permission denied'' error? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' There are several possible causes for this:&lt;br /&gt;
&lt;br /&gt;
# The output directory does not have read/write access.&lt;br /&gt;
#* Either change control settings on the output directory, or move the project to different location.&lt;br /&gt;
# A previous instance of the executable failed to terminate properly.&lt;br /&gt;
#* Open your system's equivalent of Process/Task Manager, search the list for the name of the executable Code::Blocks is trying to output, and terminate it.&lt;br /&gt;
#* Logging off or rebooting will achieve the same effect.&lt;br /&gt;
# The executable is open.&lt;br /&gt;
#* If the executable is open in a hex-editor or actively being run, close it.&lt;br /&gt;
# Security software is interfering.&lt;br /&gt;
#* The target file is locked while an antivirus programming is scanning it; either wait a few seconds for the antivirus scan to finish, set an exception in the antivirus settings, or (temporarily) disable the antivirus program.&lt;br /&gt;
#* Firewalls with very strict settings sometimes block execution; try reducing the firewall's settings or adding an exception.&lt;br /&gt;
#* Switching security software may have left traces behind that are interfering; hunt down the remnants of the old antivirus/firewall software and remove them.&lt;br /&gt;
# The file/library cannot be found.&lt;br /&gt;
#* Double check all of the compiler and linker [[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|search directories]] (including any [[Global compiler variables|variables]] they may be using) are properly setup.&lt;br /&gt;
# Code::Blocks was improperly installed.&lt;br /&gt;
#* Mixing binaries from a stable release and a nightly build (or even two different nightly builds) is highly likely to cause a slew of problems; [[Installing Code::Blocks|reinstall Code::Blocks]] in an empty directory.&lt;br /&gt;
# Multiple installed compilers are interfering with each other.&lt;br /&gt;
#* If they are not required to keep, completely remove all but the most used compiler.&lt;br /&gt;
#* If several compilers are required, ensure that '''none''' of them are in the ''system'' path (this is so that Code::Blocks will be able to manage all paths).&lt;br /&gt;
#* Also, do not place any compilers in their default installation path (for example &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;), as some compilers are hard-coded to look for headers in a default path ''before'' searching their own respective directories.&lt;br /&gt;
&lt;br /&gt;
See also: [/index.php/topic,15047.0.html Permission denied forums discussion]&lt;br /&gt;
&lt;br /&gt;
==== Q: My build fails to link due to ''multiple definition of xyz'' errors? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' GCC 4.6.1 mingw target (Windows) is known to occasionally (and erroneously) report this if link-time optimization (&amp;lt;tt&amp;gt;-flto&amp;lt;/tt&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
First, of course, check that no token has been defined multiple times. If the source code is clean, and yet the errors persist, adding linker switch (''Project-&amp;gt;Build options...-&amp;gt;Linker settings (tab)'')&lt;br /&gt;
 -Wl,--allow-multiple-definition&lt;br /&gt;
will enable the code to link.&lt;br /&gt;
&lt;br /&gt;
See also: [http://sourceware.org/bugzilla/show_bug.cgi?id=12762 Bug 12762]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Return to '''[[FAQ]]'''.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=7283</id>
		<title>Installing Code::Blocks from source on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=7283"/>
		<updated>2012-06-13T10:14:47Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Compile wxWidgets in ANSI mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installing Code::Blocks]]&lt;br /&gt;
[[Category:Installing Code::Blocks from source]]&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Note for RC2 users ===&lt;br /&gt;
&lt;br /&gt;
The older Code::Blocks RC2 does not support global compiler variables which were added after RC2 was released and is unable to read project files generated with post-RC2 versions.&lt;br /&gt;
To build Code::Blocks, you need a post-RC2 build, such as ''8.02'' or any of the ''nightly builds'' obtainable by [/index.php?board=20.0 searching the forum].&lt;br /&gt;
&lt;br /&gt;
=== MinGW compiler ===&lt;br /&gt;
&lt;br /&gt;
At the present time, Code::Blocks only compiles successfully with the MinGW compiler (or any other gcc for that matter). You will need a complete, working [[MinGW installation]] or [http://www.tdragon.net/recentgcc/ TDM-MinGW package]. &lt;br /&gt;
&lt;br /&gt;
'''Do not''' use the barebones MinGW with GCC 4.5.1 as you'll run (with this specific version) into [http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43601 a linker bug] (which happened to me on Vista SP1 32-bit on 2011-02-28); the solution is to use the TDM-GCC 4.5.1 package, or later.&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
[http://www.wxwidgets.org/ wxWidgets.org]&lt;br /&gt;
&lt;br /&gt;
Code::Blocks uses&lt;br /&gt;
* since 02 April 2011 wxWidgets 2.8.12 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.12.zip wxMSW-2.8.12.zip]&lt;br /&gt;
&lt;br /&gt;
* since 28 March 2009 wxWidgets 2.8.10 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.10.zip wxMSW-2.8.10.zip]&lt;br /&gt;
&lt;br /&gt;
* since 18 October 2008 wxWidgets 2.8.9 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.9.zip wxMSW-2.8.9.zip]&lt;br /&gt;
&lt;br /&gt;
* since 19 July 2008 wxWidgets 2.8.8 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.8.zip wxMSW-2.8.8.zip]&lt;br /&gt;
&lt;br /&gt;
* since 28 November 2007 wxWidgets 2.8.7 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.7.zip wxMSW-2.8.7.zip]&lt;br /&gt;
&lt;br /&gt;
* since November 2007 wxWidgets 2.8.6 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.6.zip wxMSW-2.8.6.zip]&lt;br /&gt;
&lt;br /&gt;
* since May 2007 wxWidgets 2.8.4&amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.4.zip wxMSW-2.8.4.zip]&lt;br /&gt;
&lt;br /&gt;
For latest infos check forum: [/index.php?topic=3299.0 Important changes to the nightly builds]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You do ''not'' need MSYS (''in fact, if you have MSYS, make sure it is not in your PATH when building wxWidgets'').&lt;br /&gt;
&lt;br /&gt;
=== SVN client ===&lt;br /&gt;
&lt;br /&gt;
In order to check out the Code::Blocks sources you will need a SVN client.&lt;br /&gt;
For convenience, it is recommended that you install [http://tortoisesvn.net/downloads TortoiseSVN] on your machine, as this is a lot more comfortable. However, if you get a bad feeling when some program is messing with your Explorer menu, then you can use the [http://subversion.tigris.org/project_packages.html svn command-line client] equally well.&lt;br /&gt;
&lt;br /&gt;
It is generally a good idea to install the command-line client (and adding it to PATH) even if you use TortoiseSVN for convenience. The &amp;lt;tt&amp;gt;autorevision&amp;lt;/tt&amp;gt; tool which is used during the build of Code::Blocks makes use of the &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; binary if it is available. This is preferable to the manual parsing of the entries file that is used as fall-back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please do note that working copies checked out with the 1.4 version of Subversion are no longer compatible with earlier versions (Subversion will transparently update existing repositories).&lt;br /&gt;
&lt;br /&gt;
The built-in fall-back mechanism in &amp;lt;tt&amp;gt;autorevision&amp;lt;/tt&amp;gt; has been updated to the new 1.4 format and will no longer work with the old format.&amp;lt;br&amp;gt;&lt;br /&gt;
Therefore, if you use a Subversion client from the 1.0-1.3 line, you ''must'' put the command line tool into &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt; for a successful build.&amp;lt;br&amp;gt;&lt;br /&gt;
If you use Subversion 1.4, then it is good practice nevertheless, but you can do without, too.&lt;br /&gt;
&lt;br /&gt;
=== svn.exe ===&lt;br /&gt;
If you want to show the SVN number in your code::blocks dialog box.&lt;br /&gt;
&lt;br /&gt;
[[Image:Svn number.png|300*300px]]&lt;br /&gt;
&lt;br /&gt;
You should also let svn.exe exist in the PATH of your windows system.&lt;br /&gt;
A command line SVN package can be download here [http://www.open.collab.net/downloads/subversion/ CollabNet Subversion Command-Line Client v1.6 (for Windows)].&lt;br /&gt;
&lt;br /&gt;
=== zip.exe ===&lt;br /&gt;
&lt;br /&gt;
You'll also need a working 'zip' program.&lt;br /&gt;
If you have the version listed on our [[MinGW installation#Other developer tools|tools page]], you'll be fine.&lt;br /&gt;
&lt;br /&gt;
The zip program coming with cygwin will ''not'' work properly. You do ''not'' need WinZip.&lt;br /&gt;
&lt;br /&gt;
Make sure the zip binary is in your PATH so the &amp;lt;tt&amp;gt;update.bat&amp;lt;/tt&amp;gt; script will be able to find it (alternatively, you can edit the batch file, setting the ZIPCMD variable to something else).&lt;br /&gt;
&lt;br /&gt;
The easiest way is to put zip.exe into &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; inside your MinGW installation directory (that folder is normally in the path).&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks sources ===&lt;br /&gt;
&lt;br /&gt;
You will also (obviously) need the Code::Blocks sources. &lt;br /&gt;
&lt;br /&gt;
Using ''TortoiseSVN'', make a folder where you want to store the sources, right-click on the folder, and select &amp;quot;SVN Checkout...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Win svn checkout.png]]&lt;br /&gt;
&lt;br /&gt;
In the top box, enter svn://svn.berlios.de/codeblocks/trunk and hit the OK button.&lt;br /&gt;
&lt;br /&gt;
Using ''svn'', you have to open a command prompt (&amp;quot;DOS Window&amp;quot;). Make a folder, change directory, and run svn:&lt;br /&gt;
&lt;br /&gt;
 mkdir codeblocks-head&lt;br /&gt;
 cd codeblocks-head&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;svn://svn.berlios.de/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode Build ==&lt;br /&gt;
&lt;br /&gt;
=== Compile wxWidgets in Unicode mode ===&lt;br /&gt;
&lt;br /&gt;
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets:&lt;br /&gt;
&lt;br /&gt;
 set path=c:\mingw\bin;c:\mingw\mingw32\bin&lt;br /&gt;
 mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
 mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1&lt;br /&gt;
&lt;br /&gt;
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.&lt;br /&gt;
&lt;br /&gt;
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.&lt;br /&gt;
&lt;br /&gt;
If you are using a recent version of MinGW you may find that the object files are too large and that the linker runs out of memory. To fix this problem you need to edit config.gcc so that inline functions are not exported, by modifying the CFLAGS and CXXFLAGS lines to:&lt;br /&gt;
&lt;br /&gt;
  CFLAGS ?= -fno-keep-inline-dllexport&lt;br /&gt;
&lt;br /&gt;
  CXXFLAGS ?= -fno-keep-inline-dllexport&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''remark: If you want to use wxWidgets not only for building Code::Blocks, but also for writing wxWidgets programs, and if you want to use the debugger in those programs, you have to compile a debug build of wxWidgets as well.''&lt;br /&gt;
''Use the same commands as for the release build, but replace &amp;quot;release&amp;quot; by &amp;quot;debug&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.&lt;br /&gt;
&lt;br /&gt;
=== Compile Code::Blocks ===&lt;br /&gt;
Now, before this step, you have prepared all the stuff to build code::blocks. It's very interesting that we use code::blocks to build code::blocks binaries.&lt;br /&gt;
&lt;br /&gt;
==== Open project====&lt;br /&gt;
Open the project file '''CodeBlocks.cbp'''. You will be prompted to define the global variable $(#wx). Enter the location where you unpacked wxWidgets.&lt;br /&gt;
&lt;br /&gt;
[[Image:Global_variable.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Global_variable2.png]]&lt;br /&gt;
&lt;br /&gt;
====Compile project====&lt;br /&gt;
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Win build button.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Win build target.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Win build finish.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Copy wxWidgets support DLL====&lt;br /&gt;
After the compilation has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw28u_gcc_custom.dll&amp;lt;/tt&amp;gt; from the wxWidgets directory to the &amp;lt;tt&amp;gt;src\devel&amp;lt;/tt&amp;gt; directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into dll hell).&lt;br /&gt;
&lt;br /&gt;
[[Image:Win output folder.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Win copy dll.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Runing script file====&lt;br /&gt;
Run &amp;lt;tt&amp;gt;src\update.bat&amp;lt;/tt&amp;gt; (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.&lt;br /&gt;
&lt;br /&gt;
[[Image:Win run bat.png]]&lt;br /&gt;
&lt;br /&gt;
The stripped (&amp;quot;production&amp;quot;) executable is found in &amp;lt;tt&amp;gt;output&amp;lt;/tt&amp;gt; folder together with all libraries and data files. If you want a version with debug symbols instead (caution: huge size!), use the one found in the &amp;lt;tt&amp;gt;devel&amp;lt;/tt&amp;gt; folder.&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you own a freshly built version of Code::Blocks!&lt;br /&gt;
&lt;br /&gt;
[[Image:Win final folder.png]]&lt;br /&gt;
&lt;br /&gt;
====Note for future updates====&lt;br /&gt;
Go to the Code::Blocks root directory and run &amp;lt;tt&amp;gt;svn update&amp;lt;/tt&amp;gt; (or use TurtoiseSVN to the same effect).&amp;lt;br/&amp;gt;&lt;br /&gt;
Then open and build the project as described before (and any contrib plugins that you wish to use), and re-run &amp;lt;tt&amp;gt;src\update.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Install Code::Blocks ===&lt;br /&gt;
&lt;br /&gt;
Copy the folder output to where you want Code::Blocks to reside.&lt;br /&gt;
&lt;br /&gt;
=== Compile contributed (or your own) plugins ===&lt;br /&gt;
&lt;br /&gt;
The workspace file '''ContribPlugins.workspace''' contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select &amp;quot;Build Workspace&amp;quot; from the context menu if you want them all).&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Contribute plugin.png]]&lt;br /&gt;
&lt;br /&gt;
When you open the contrib plugins workspace, you will be asked to define the &amp;lt;tt&amp;gt;$(#cb)&amp;lt;/tt&amp;gt; global compiler variable. This is the path that contains the sdk folder normally this is codeblocks\src. The build process uses this information to place the plugins and data files into the correct place. Enter the location of the Code::Blocks sources in the same way as for the &amp;lt;tt&amp;gt;$(#wx)&amp;lt;/tt&amp;gt; variable earlier.&lt;br /&gt;
&lt;br /&gt;
Don't forget to run update.bat again after building the contrib plugins.&lt;br /&gt;
&lt;br /&gt;
== ANSI Build ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #f7d9d9; border: 1px solid #000&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DEPRECATION WARNING: ====&lt;br /&gt;
As of February 2006, the official default build for Code::Blocks is '''Unicode''' (see above). Although ANSI builds are technically possible, we discourage their use unless there is a good reason.&amp;lt;br/&amp;gt;&lt;br /&gt;
''Support for ANSI builds is likely to be dropped after Version 1.0 is out.''&lt;br /&gt;
&lt;br /&gt;
There is hardly any good argument against using a Unicode build if your OS supports Unicode, even if you do not understand any other language than English, as a Unicode version guarantees that it will be able to work with whatever languages you may possibly encounter in the future -- at a very reasonable cost.&lt;br /&gt;
&lt;br /&gt;
However, if you absolutely don't care about Unicode or if you are bound to use Windows 95, then you may want to build an ANSI version nevertheless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Compile wxWidgets in ANSI mode ====&lt;br /&gt;
&lt;br /&gt;
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets&lt;br /&gt;
&lt;br /&gt;
 set path=c:\mingw\bin;c:\mingw\mingw32\bin&lt;br /&gt;
 mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 clean&lt;br /&gt;
 mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0&lt;br /&gt;
&lt;br /&gt;
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.&lt;br /&gt;
&lt;br /&gt;
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.&lt;br /&gt;
&lt;br /&gt;
==== Compile Code::Blocks ====&lt;br /&gt;
&lt;br /&gt;
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx) if you have not used it before. Enter the location where you unpacked wxWidgets.&lt;br /&gt;
&lt;br /&gt;
'''Important:'''  The project file is set to compile an Unicode version of Code::Blocks by default. To make an ANSI build, you have to make the following two changes to build options before compiling:&lt;br /&gt;
1. In the &amp;quot;Compiler&amp;quot; tab, under &amp;quot;#defines&amp;quot;, remove the entry wxUSE_UNICODE.&lt;br /&gt;
2. Under &amp;quot;Custom variables&amp;quot;, set the variable WX_SUFFIX to empty (default value: u).&lt;br /&gt;
&lt;br /&gt;
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.&lt;br /&gt;
&lt;br /&gt;
After the compilation has finished, copy wxmsw28u_gcc_custom.dll from lib\gcc_dll inside the wxWidgets directory to the devel directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into [[wikipedia:DLL Hell|dll hell]]).&lt;br /&gt;
Run update.bat (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.&lt;br /&gt;
The location of executable is src\output in C::B tree. From here you'll not need the nightly build anymore.&lt;br /&gt;
&lt;br /&gt;
One little note for svn updates and rebuilds : just go into the codeblocks root directory and do '''svn update''' (or use Turtoise svn).&lt;br /&gt;
&lt;br /&gt;
Then run the src/output/codeblocks.exe, reload project, build it, reload plugins workspace, build it, quit codeblocks and re-run update.bat. You'll have an up-to-date C::B in 3 minutes !&lt;br /&gt;
&lt;br /&gt;
==== Install Code::Blocks ====&lt;br /&gt;
&lt;br /&gt;
Copy the folder output to where you want Code::Blocks to reside.&lt;br /&gt;
&lt;br /&gt;
==== Compile contributed (or your own) plugins ====&lt;br /&gt;
&lt;br /&gt;
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select &amp;quot;Build Workspace&amp;quot; from the context menu if you want them all). Don't forget to run update.bat again after building the contrib plugins.&lt;br /&gt;
&lt;br /&gt;
Note that the Nassi Shneiderman plugin (part of the contrib plugins) has a dependency on [http://www.boost.org boost] which is needed to compile this plugin. Boost does not need to be compiled therefore.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=7282</id>
		<title>Installing Code::Blocks from source on Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=7282"/>
		<updated>2012-06-13T10:14:23Z</updated>

		<summary type="html">&lt;p&gt;MortenMacFly: /* Compile wxWidgets in Unicode mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installing Code::Blocks]]&lt;br /&gt;
[[Category:Installing Code::Blocks from source]]&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Note for RC2 users ===&lt;br /&gt;
&lt;br /&gt;
The older Code::Blocks RC2 does not support global compiler variables which were added after RC2 was released and is unable to read project files generated with post-RC2 versions.&lt;br /&gt;
To build Code::Blocks, you need a post-RC2 build, such as ''8.02'' or any of the ''nightly builds'' obtainable by [/index.php?board=20.0 searching the forum].&lt;br /&gt;
&lt;br /&gt;
=== MinGW compiler ===&lt;br /&gt;
&lt;br /&gt;
At the present time, Code::Blocks only compiles successfully with the MinGW compiler (or any other gcc for that matter). You will need a complete, working [[MinGW installation]] or [http://www.tdragon.net/recentgcc/ TDM-MinGW package]. &lt;br /&gt;
&lt;br /&gt;
'''Do not''' use the barebones MinGW with GCC 4.5.1 as you'll run (with this specific version) into [http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43601 a linker bug] (which happened to me on Vista SP1 32-bit on 2011-02-28); the solution is to use the TDM-GCC 4.5.1 package, or later.&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
[http://www.wxwidgets.org/ wxWidgets.org]&lt;br /&gt;
&lt;br /&gt;
Code::Blocks uses&lt;br /&gt;
* since 02 April 2011 wxWidgets 2.8.12 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.12.zip wxMSW-2.8.12.zip]&lt;br /&gt;
&lt;br /&gt;
* since 28 March 2009 wxWidgets 2.8.10 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.10.zip wxMSW-2.8.10.zip]&lt;br /&gt;
&lt;br /&gt;
* since 18 October 2008 wxWidgets 2.8.9 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.9.zip wxMSW-2.8.9.zip]&lt;br /&gt;
&lt;br /&gt;
* since 19 July 2008 wxWidgets 2.8.8 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.8.zip wxMSW-2.8.8.zip]&lt;br /&gt;
&lt;br /&gt;
* since 28 November 2007 wxWidgets 2.8.7 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.7.zip wxMSW-2.8.7.zip]&lt;br /&gt;
&lt;br /&gt;
* since November 2007 wxWidgets 2.8.6 &amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.6.zip wxMSW-2.8.6.zip]&lt;br /&gt;
&lt;br /&gt;
* since May 2007 wxWidgets 2.8.4&amp;lt;br/&amp;gt;Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.4.zip wxMSW-2.8.4.zip]&lt;br /&gt;
&lt;br /&gt;
For latest infos check forum: [/index.php?topic=3299.0 Important changes to the nightly builds]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You do ''not'' need MSYS (''in fact, if you have MSYS, make sure it is not in your PATH when building wxWidgets'').&lt;br /&gt;
&lt;br /&gt;
=== SVN client ===&lt;br /&gt;
&lt;br /&gt;
In order to check out the Code::Blocks sources you will need a SVN client.&lt;br /&gt;
For convenience, it is recommended that you install [http://tortoisesvn.net/downloads TortoiseSVN] on your machine, as this is a lot more comfortable. However, if you get a bad feeling when some program is messing with your Explorer menu, then you can use the [http://subversion.tigris.org/project_packages.html svn command-line client] equally well.&lt;br /&gt;
&lt;br /&gt;
It is generally a good idea to install the command-line client (and adding it to PATH) even if you use TortoiseSVN for convenience. The &amp;lt;tt&amp;gt;autorevision&amp;lt;/tt&amp;gt; tool which is used during the build of Code::Blocks makes use of the &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; binary if it is available. This is preferable to the manual parsing of the entries file that is used as fall-back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please do note that working copies checked out with the 1.4 version of Subversion are no longer compatible with earlier versions (Subversion will transparently update existing repositories).&lt;br /&gt;
&lt;br /&gt;
The built-in fall-back mechanism in &amp;lt;tt&amp;gt;autorevision&amp;lt;/tt&amp;gt; has been updated to the new 1.4 format and will no longer work with the old format.&amp;lt;br&amp;gt;&lt;br /&gt;
Therefore, if you use a Subversion client from the 1.0-1.3 line, you ''must'' put the command line tool into &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt; for a successful build.&amp;lt;br&amp;gt;&lt;br /&gt;
If you use Subversion 1.4, then it is good practice nevertheless, but you can do without, too.&lt;br /&gt;
&lt;br /&gt;
=== svn.exe ===&lt;br /&gt;
If you want to show the SVN number in your code::blocks dialog box.&lt;br /&gt;
&lt;br /&gt;
[[Image:Svn number.png|300*300px]]&lt;br /&gt;
&lt;br /&gt;
You should also let svn.exe exist in the PATH of your windows system.&lt;br /&gt;
A command line SVN package can be download here [http://www.open.collab.net/downloads/subversion/ CollabNet Subversion Command-Line Client v1.6 (for Windows)].&lt;br /&gt;
&lt;br /&gt;
=== zip.exe ===&lt;br /&gt;
&lt;br /&gt;
You'll also need a working 'zip' program.&lt;br /&gt;
If you have the version listed on our [[MinGW installation#Other developer tools|tools page]], you'll be fine.&lt;br /&gt;
&lt;br /&gt;
The zip program coming with cygwin will ''not'' work properly. You do ''not'' need WinZip.&lt;br /&gt;
&lt;br /&gt;
Make sure the zip binary is in your PATH so the &amp;lt;tt&amp;gt;update.bat&amp;lt;/tt&amp;gt; script will be able to find it (alternatively, you can edit the batch file, setting the ZIPCMD variable to something else).&lt;br /&gt;
&lt;br /&gt;
The easiest way is to put zip.exe into &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; inside your MinGW installation directory (that folder is normally in the path).&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks sources ===&lt;br /&gt;
&lt;br /&gt;
You will also (obviously) need the Code::Blocks sources. &lt;br /&gt;
&lt;br /&gt;
Using ''TortoiseSVN'', make a folder where you want to store the sources, right-click on the folder, and select &amp;quot;SVN Checkout...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Win svn checkout.png]]&lt;br /&gt;
&lt;br /&gt;
In the top box, enter svn://svn.berlios.de/codeblocks/trunk and hit the OK button.&lt;br /&gt;
&lt;br /&gt;
Using ''svn'', you have to open a command prompt (&amp;quot;DOS Window&amp;quot;). Make a folder, change directory, and run svn:&lt;br /&gt;
&lt;br /&gt;
 mkdir codeblocks-head&lt;br /&gt;
 cd codeblocks-head&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;svn://svn.berlios.de/codeblocks/trunk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicode Build ==&lt;br /&gt;
&lt;br /&gt;
=== Compile wxWidgets in Unicode mode ===&lt;br /&gt;
&lt;br /&gt;
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets:&lt;br /&gt;
&lt;br /&gt;
 set path=c:\mingw\bin;c:\mingw\mingw32\bin&lt;br /&gt;
 mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
 mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1&lt;br /&gt;
&lt;br /&gt;
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.&lt;br /&gt;
&lt;br /&gt;
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.&lt;br /&gt;
&lt;br /&gt;
If you are using a recent version of MinGW you may find that the object files are too large and that the linker runs out of memory. To fix this problem you need to edit config.gcc so that inline functions are not exported, by modifying the CFLAGS and CXXFLAGS lines to:&lt;br /&gt;
&lt;br /&gt;
  CFLAGS ?= -fno-keep-inline-dllexport&lt;br /&gt;
&lt;br /&gt;
  CXXFLAGS ?= -fno-keep-inline-dllexport&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''remark: If you want to use wxWidgets not only for building Code::Blocks, but also for writing wxWidgets programs, and if you want to use the debugger in those programs, you have to compile a debug build of wxWidgets as well.''&lt;br /&gt;
''Use the same commands as for the release build, but replace &amp;quot;release&amp;quot; by &amp;quot;debug&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.&lt;br /&gt;
&lt;br /&gt;
=== Compile Code::Blocks ===&lt;br /&gt;
Now, before this step, you have prepared all the stuff to build code::blocks. It's very interesting that we use code::blocks to build code::blocks binaries.&lt;br /&gt;
&lt;br /&gt;
==== Open project====&lt;br /&gt;
Open the project file '''CodeBlocks.cbp'''. You will be prompted to define the global variable $(#wx). Enter the location where you unpacked wxWidgets.&lt;br /&gt;
&lt;br /&gt;
[[Image:Global_variable.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Global_variable2.png]]&lt;br /&gt;
&lt;br /&gt;
====Compile project====&lt;br /&gt;
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Win build button.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Win build target.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Win build finish.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Copy wxWidgets support DLL====&lt;br /&gt;
After the compilation has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw28u_gcc_custom.dll&amp;lt;/tt&amp;gt; from the wxWidgets directory to the &amp;lt;tt&amp;gt;src\devel&amp;lt;/tt&amp;gt; directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into dll hell).&lt;br /&gt;
&lt;br /&gt;
[[Image:Win output folder.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Win copy dll.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Runing script file====&lt;br /&gt;
Run &amp;lt;tt&amp;gt;src\update.bat&amp;lt;/tt&amp;gt; (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.&lt;br /&gt;
&lt;br /&gt;
[[Image:Win run bat.png]]&lt;br /&gt;
&lt;br /&gt;
The stripped (&amp;quot;production&amp;quot;) executable is found in &amp;lt;tt&amp;gt;output&amp;lt;/tt&amp;gt; folder together with all libraries and data files. If you want a version with debug symbols instead (caution: huge size!), use the one found in the &amp;lt;tt&amp;gt;devel&amp;lt;/tt&amp;gt; folder.&amp;lt;br&amp;gt;&lt;br /&gt;
Congratulations, you own a freshly built version of Code::Blocks!&lt;br /&gt;
&lt;br /&gt;
[[Image:Win final folder.png]]&lt;br /&gt;
&lt;br /&gt;
====Note for future updates====&lt;br /&gt;
Go to the Code::Blocks root directory and run &amp;lt;tt&amp;gt;svn update&amp;lt;/tt&amp;gt; (or use TurtoiseSVN to the same effect).&amp;lt;br/&amp;gt;&lt;br /&gt;
Then open and build the project as described before (and any contrib plugins that you wish to use), and re-run &amp;lt;tt&amp;gt;src\update.bat&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Install Code::Blocks ===&lt;br /&gt;
&lt;br /&gt;
Copy the folder output to where you want Code::Blocks to reside.&lt;br /&gt;
&lt;br /&gt;
=== Compile contributed (or your own) plugins ===&lt;br /&gt;
&lt;br /&gt;
The workspace file '''ContribPlugins.workspace''' contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select &amp;quot;Build Workspace&amp;quot; from the context menu if you want them all).&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Contribute plugin.png]]&lt;br /&gt;
&lt;br /&gt;
When you open the contrib plugins workspace, you will be asked to define the &amp;lt;tt&amp;gt;$(#cb)&amp;lt;/tt&amp;gt; global compiler variable. This is the path that contains the sdk folder normally this is codeblocks\src. The build process uses this information to place the plugins and data files into the correct place. Enter the location of the Code::Blocks sources in the same way as for the &amp;lt;tt&amp;gt;$(#wx)&amp;lt;/tt&amp;gt; variable earlier.&lt;br /&gt;
&lt;br /&gt;
Don't forget to run update.bat again after building the contrib plugins.&lt;br /&gt;
&lt;br /&gt;
== ANSI Build ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #f7d9d9; border: 1px solid #000&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 5px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DEPRECATION WARNING: ====&lt;br /&gt;
As of February 2006, the official default build for Code::Blocks is '''Unicode''' (see above). Although ANSI builds are technically possible, we discourage their use unless there is a good reason.&amp;lt;br/&amp;gt;&lt;br /&gt;
''Support for ANSI builds is likely to be dropped after Version 1.0 is out.''&lt;br /&gt;
&lt;br /&gt;
There is hardly any good argument against using a Unicode build if your OS supports Unicode, even if you do not understand any other language than English, as a Unicode version guarantees that it will be able to work with whatever languages you may possibly encounter in the future -- at a very reasonable cost.&lt;br /&gt;
&lt;br /&gt;
However, if you absolutely don't care about Unicode or if you are bound to use Windows 95, then you may want to build an ANSI version nevertheless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Compile wxWidgets in ANSI mode ====&lt;br /&gt;
&lt;br /&gt;
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets&lt;br /&gt;
&lt;br /&gt;
 set path=c:\mingw\bin;c:\mingw\mingw32\bin&lt;br /&gt;
 mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 clean&lt;br /&gt;
 mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0&lt;br /&gt;
&lt;br /&gt;
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.&lt;br /&gt;
&lt;br /&gt;
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.&lt;br /&gt;
&lt;br /&gt;
==== Compile Code::Blocks ====&lt;br /&gt;
&lt;br /&gt;
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx) if you have not used it before. Enter the location where you unpacked wxWidgets.&lt;br /&gt;
&lt;br /&gt;
'''Important:'''  The project file is set to compile an Unicode version of Code::Blocks by default. To make an ANSI build, you have to make the following two changes to build options before compiling:&lt;br /&gt;
1. In the &amp;quot;Compiler&amp;quot; tab, under &amp;quot;#defines&amp;quot;, remove the entry wxUSE_UNICODE.&lt;br /&gt;
2. Under &amp;quot;Custom variables&amp;quot;, set the variable WX_SUFFIX to empty (default value: u).&lt;br /&gt;
&lt;br /&gt;
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.&lt;br /&gt;
&lt;br /&gt;
After the compilation has finished, copy wxmsw28u_gcc_custom.dll from lib\gcc_dll inside the wxWidgets directory to the devel directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into [[wikipedia:DLL Hell|dll hell]]).&lt;br /&gt;
Run update.bat (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.&lt;br /&gt;
The location of executable is src\output in C::B tree. From here you'll not need the nightly build anymore.&lt;br /&gt;
&lt;br /&gt;
One little note for svn updates and rebuilds : just go into the codeblocks root directory and do '''svn update''' (or use Turtoise svn).&lt;br /&gt;
&lt;br /&gt;
Then run the src/output/codeblocks.exe, reload project, build it, reload plugins workspace, build it, quit codeblocks and re-run update.bat. You'll have an up-to-date C::B in 3 minutes !&lt;br /&gt;
&lt;br /&gt;
==== Install Code::Blocks ====&lt;br /&gt;
&lt;br /&gt;
Copy the folder output to where you want Code::Blocks to reside.&lt;br /&gt;
&lt;br /&gt;
==== Compile contributed (or your own) plugins ====&lt;br /&gt;
&lt;br /&gt;
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select &amp;quot;Build Workspace&amp;quot; from the context menu if you want them all). Don't forget to run update.bat again after building the contrib plugins.&lt;br /&gt;
&lt;br /&gt;
Note that the Nassi Shneiderman plugin (part of the contrib plugins) has a dependency on [http://www.boost.org boost] which is needed to compile this plugin. Boost does not need to be compiled therefore.&lt;/div&gt;</summary>
		<author><name>MortenMacFly</name></author>
	</entry>
</feed>