<?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=Thomas</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=Thomas"/>
	<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php/Special:Contributions/Thomas"/>
	<updated>2026-05-10T23:59:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Coding_style&amp;diff=7441</id>
		<title>Coding style</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Coding_style&amp;diff=7441"/>
		<updated>2012-11-11T16:42:19Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
The following are guidelines for the code formatting to use in Code::Blocks source code. Anyone writing code or a [[Creating a patch to submit to BerliOS (Patch Tracker)|patch]] for Code::Blocks, is required to follow these.&lt;br /&gt;
&lt;br /&gt;
== General coding style ==&lt;br /&gt;
&lt;br /&gt;
The general coding style is the ANSI one:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace FooSpace&lt;br /&gt;
{&lt;br /&gt;
    int Foo()&lt;br /&gt;
    {&lt;br /&gt;
        if (isBar)&lt;br /&gt;
        {&lt;br /&gt;
            Bar();&lt;br /&gt;
            return 1;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
            return 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variables naming ==&lt;br /&gt;
&lt;br /&gt;
Class names do not start with 'C' (as in CObject, CWindow, etc). Only abstract base classes (interfaces) should start with 'I'.&lt;br /&gt;
But they all have to start with a capital letter.&lt;br /&gt;
&lt;br /&gt;
Class member variables should start with &amp;lt;tt&amp;gt;m_&amp;lt;/tt&amp;gt;. If the variable is a pointer, use &amp;lt;tt&amp;gt;m_p&amp;lt;/tt&amp;gt; as a prefix.&lt;br /&gt;
Following the prefix is the variable's name. Use descriptive names and use capital letters at the start of each word (the first too). So a fictious variable holding a value for position would be named as &amp;lt;tt&amp;gt;m_ValueForPosition&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Non-class member variables should not start with a capital letter.&lt;br /&gt;
&lt;br /&gt;
Function names should always start with a capital letter.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;// Good&lt;br /&gt;
int aLocalVar;&lt;br /&gt;
int m_SomeInt;&lt;br /&gt;
void* m_pSomePointer;&lt;br /&gt;
bool SomeFunc();&lt;br /&gt;
&lt;br /&gt;
// Bad&lt;br /&gt;
int SomeInt; // either no m_ prefix if it's a class variable, &lt;br /&gt;
             // or capital first letter if it's a local variable&lt;br /&gt;
int m_someInt; // no capital letter 'S'&lt;br /&gt;
void* m_SomePointer; // no m_p prefix&lt;br /&gt;
bool someFunc(); // function with non-capital first letter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters that are not absolutely required to be used in an interface or base class should preferrably be tagged with the &amp;lt;tt&amp;gt;cb_optional&amp;lt;/tt&amp;gt; macro so users of the interface realize this, and as a side effect no compiler warnings are generated.&lt;br /&gt;
&lt;br /&gt;
Parameters that are ''actually not used'' should be tagged &amp;lt;tt&amp;gt;cb_unused&amp;lt;/tt&amp;gt; both to suppress a compiler warning and indicate that this is happening intentionally.&lt;br /&gt;
&lt;br /&gt;
If the caller of a function takes ownership of the object referenced by the return value, tag the function as &amp;lt;tt&amp;gt;cb_must_consume_result&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Variables declaration ==&lt;br /&gt;
&lt;br /&gt;
One variable declared each time on a different line.&lt;br /&gt;
For pointer/reference variables, the '*' or '&amp;amp;' is part of the type.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;// Good&lt;br /&gt;
int&amp;amp; someInt;&lt;br /&gt;
void* pPtr;&lt;br /&gt;
&lt;br /&gt;
// Bad&lt;br /&gt;
int &amp;amp;someInt; // &amp;amp; not after type&lt;br /&gt;
void* pPtr, pSomeOther; // multiple declarations in one line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spacing ==&lt;br /&gt;
&lt;br /&gt;
Prefer spaces over tabs. If you want to use tabs you won't be prosecuted (!) but please use a tab size of 4 spaces.&amp;lt;br&amp;gt;&lt;br /&gt;
Code indentation should be 4 spaces.&amp;lt;br&amp;gt;&lt;br /&gt;
In class declarations, the keywords &amp;lt;tt&amp;gt;public:&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;protected:&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;private:&amp;lt;/tt&amp;gt; should be indented. The same goes for all the class members.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Good&lt;br /&gt;
class AClass&lt;br /&gt;
{&lt;br /&gt;
    public:&lt;br /&gt;
        AClass(){ ... }&lt;br /&gt;
    protected:&lt;br /&gt;
        int m_Member;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Bad&lt;br /&gt;
class AClass&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
    AClass(){ ... }&lt;br /&gt;
protected:&lt;br /&gt;
    int m_Member;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Commenting ==&lt;br /&gt;
&lt;br /&gt;
* All three types of comments are used in Code::Blocks. C++ style ('//'), C style ('/* */'), and the Doxygen style ('/** */').&lt;br /&gt;
* The C++ style is used for just about everything. Use this style to describe what your code does.&lt;br /&gt;
* The C style is used only for very long comments (paragraphs), or for a license or description at the top of a C++ file.&lt;br /&gt;
* The Doxygen style is used for documenting functions only. These functions would be public, and protected class functions, and global helper functions.&lt;br /&gt;
* Comments should clearly describe what the code does. Comments should be concise, but coherent.&lt;br /&gt;
&lt;br /&gt;
== Header file include and Precompiled header rule ==&lt;br /&gt;
The NON-PCH compilation (I mean with NOPCH switch, that's different from simply disabling PCH!) will be helpful to detect missing includes. Keep in mind that no matter what we do - wx will do and use PCH unless we declare NOPCH at the compile time. So even if we disable our PCH, the patches won't stop unless we do it properly in the first place.&lt;br /&gt;
&lt;br /&gt;
The rules are plain simple:&lt;br /&gt;
PCH file:&lt;br /&gt;
- include all rarely changing header files&lt;br /&gt;
- do the PCH macro vodoo (we have that already)&lt;br /&gt;
Header:&lt;br /&gt;
- If you access or define an object, include the header&lt;br /&gt;
- If you use pointers/references, use forward decl&lt;br /&gt;
- Put headers you need to include into such a section if they are part of your PCH file:&lt;br /&gt;
Code:&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;source lang = &amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef USE_PCH&lt;br /&gt;
  #include &amp;lt;wx/dialog.h&amp;gt;&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Include headers you need to include that are not part of your PCH file as normal&lt;br /&gt;
Implementation:&lt;br /&gt;
- include the PCH file first&lt;br /&gt;
- same thing for headers needed as in the header file.&lt;br /&gt;
&lt;br /&gt;
I do it that way in my own projects and i works flawlessly for ages! Of course, whenever I change code and use new classes, I need to check the above rules.&lt;br /&gt;
&lt;br /&gt;
But (nevermind) if we decide to get rid of this because these rules are too hard - go ahead.&lt;br /&gt;
&lt;br /&gt;
Here comes a simple small class:&lt;br /&gt;
Header:&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;source lang = &amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#ifndef USE_PCH&lt;br /&gt;
  #include &amp;lt;wx/dialog.h&amp;gt; // is in wx_pch.h!&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;wx/busyinfo.h&amp;gt; // NOT in wx_pch.h and used as object&lt;br /&gt;
&lt;br /&gt;
class MyClass; // forward decsl due to pointer usage&lt;br /&gt;
&lt;br /&gt;
class MyDlg: public wxDialog&lt;br /&gt;
{&lt;br /&gt;
  MyDlg() { ; };&lt;br /&gt;
  void Func(MyClass* c); // used as pointer&lt;br /&gt;
  wxBusyInfo bi; // used as object&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Implementation:&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;source lang = &amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;wx_pch.h&amp;gt; // our PCH file, may include the WX PCH file (if needed)&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;MyDlg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifndef USE_PCH&lt;br /&gt;
  #include &amp;quot;MyClass.h&amp;quot; // is in wx_pch.h, but now used as object / accessed&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;MyOhterClass.h&amp;quot; // NOT in wx_pch.h and used as object&lt;br /&gt;
&lt;br /&gt;
void MyDlg::Func(MyClass* c)&lt;br /&gt;
{&lt;br /&gt;
  MyOtherClass moc;&lt;br /&gt;
  c-&amp;gt;DoSomething(moc);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See some disscussion in our forum: [/index.php/topic,16028.msg108172.html#msg108172 Morten's comments on include file rules]&lt;br /&gt;
&lt;br /&gt;
Also: [/index.php/topic,3321.msg26184.html#msg26184 include rules (by killerbot)]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5824</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=5824"/>
		<updated>2009-02-20T19:15:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Time and date */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Code::Blocks workspace ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_FILE_NAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEFILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the current workspace project (.workspace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the workspace that is displayed in the tab Projects of the Management panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WORKSPACE_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACE_DIRECTORY)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WORKSPACEDIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The location of the workspace directory.&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DAYCOUNT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The number of the days passed since an arbitrarily chosen day zero (January 1, 2009). Useful as last component of a version/build number.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4310</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4310"/>
		<updated>2006-12-08T08:51:08Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Script expansion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4309</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4309"/>
		<updated>2006-12-08T08:46:46Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Script expansion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;[[ print(GetProjectManager().GetActiveProject().GetTitle()); ]]&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
:inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4308</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4308"/>
		<updated>2006-12-08T08:38:39Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Script expansion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt; adding &amp;lt;tt&amp;gt;[[ local p=GetProjectManager().GetActiveProject(); print(p.GetTitle()); ]]&amp;lt;/tt&amp;gt; to compiler options inserts the active project's title into the command line.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4259</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4259"/>
		<updated>2006-12-04T11:54:11Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Build targets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OBJECT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's object directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt; adding &amp;lt;tt&amp;gt;[[ print(5+3); ]]&amp;lt;/tt&amp;gt; to compiler options inserts &amp;lt;tt&amp;gt;8&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4237</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4237"/>
		<updated>2006-11-29T14:31:19Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Script expansion ===&lt;br /&gt;
&lt;br /&gt;
:For maximum flexibility, you can embed scripts using the &amp;lt;tt&amp;gt;[[&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;]]&amp;lt;/tt&amp;gt; operator as a special case of variable expansion. Embedded scripts have access to all standard functionality available to scrips and work pretty much like &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; backticks (except for having access to Code::Blocks' namespace). As such, scripts are not limited to producing text output, but can also manipulate Code::Blocks state (projects, targets, etc.). Although this is technically possible, it is generally bad design and a very stupid idea to do so. Manipulating Code::Blocks state from a pre-build script is a much better solution.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The script text is replaced with any output generated by your script, or discarded in case of a syntax error.&lt;br /&gt;
&lt;br /&gt;
:As conditional evaluation runs prior to expanding scripts, conditional evaluation can be used for preprocessor functionality. Builtin variables (and user variables) are expanded after scripts, so it is possible to reference variables in a script's output.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt; adding &amp;lt;tt&amp;gt;[[ print(5+3); ]]&amp;lt;/tt&amp;gt; to compiler options inserts &amp;lt;tt&amp;gt;8&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Scripting_Code::Blocks&amp;diff=4236</id>
		<title>Scripting Code::Blocks</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Scripting_Code::Blocks&amp;diff=4236"/>
		<updated>2006-11-29T14:14:25Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Scripting Code::Blocks]]&lt;br /&gt;
Code::Blocks supports '''scripting''' to extend various parts of its functionality during runtime. The scripting language used is [http://www.squirrel-lang.org Squirrel].&lt;br /&gt;
&lt;br /&gt;
Currently, Code::Blocks uses scripts for:&lt;br /&gt;
&lt;br /&gt;
'''[[Startup script|Startup]]'''&lt;br /&gt;
: Run arbitrary commands on application startup.&lt;br /&gt;
&lt;br /&gt;
'''[[Wizard scripts|Wizards]]'''&lt;br /&gt;
: Register new wizards for generating projects, build targets, files or anything else. All wizards shipped with Code::Blocks are scripted.&lt;br /&gt;
&lt;br /&gt;
'''[[Debugger scripts|Debugger]]'''&lt;br /&gt;
: Extend the GNU Debugger (and others) to support arbitrary data types. Code::Blocks ships with scripts that add wxString, std::string and std::vector &amp;quot;knowledge&amp;quot; to the GNU Debugger.&lt;br /&gt;
&lt;br /&gt;
'''[[Build scripts|Build]]'''&lt;br /&gt;
: Extend the build system. Scripts can be attached to projects and/or build targets and are executed before and/or after each of these is built.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[[Variable expansion]]'''&lt;br /&gt;
:As a special case of [[variable expansion]], scripts can be run in place of a variable, expanding to the output generated by the script. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More Code::Blocks parts may be exposed to scripting in the future.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Scripting commands]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.squirrel-lang.org/#doc Squirrel documentation]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Builtin_variables&amp;diff=4235</id>
		<title>Builtin variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Builtin_variables&amp;diff=4235"/>
		<updated>2006-11-29T14:10:39Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Builtin variables moved to Variable expansion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Variable expansion]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4234</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4234"/>
		<updated>2006-11-29T14:10:38Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Builtin variables moved to Variable expansion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Path manipulation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&amp;lt;code&amp;gt;$relative(path), $absolute(path)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Replaces the argument &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; (which may be a variable) with its normalised absolute path/filename equivalent or with a path relative to the project directory, respectively.&lt;br /&gt;
&lt;br /&gt;
:Keep in mind that functions &amp;lt;tt&amp;gt;$relative()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$absolute()&amp;lt;/tt&amp;gt; are considerably more computionally expensive than any other builtin variable or function. Thus, if performance matters, do not use them &amp;quot;just for good&amp;quot;, but only when you really need them. Also, please note that neither the variable syntax variants &amp;lt;tt&amp;gt;%relative(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(relative)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&amp;lt;/s&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4233</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4233"/>
		<updated>2006-11-29T12:34:00Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Path manipulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Path manipulation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&amp;lt;code&amp;gt;$relative(path), $absolute(path)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Replaces the argument &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; (which may be a variable) with its normalised absolute path/filename equivalent or with a path relative to the project directory, respectively.&lt;br /&gt;
&lt;br /&gt;
:Keep in mind that functions &amp;lt;tt&amp;gt;$relative()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$absolute()&amp;lt;/tt&amp;gt; are considerably more computionally expensive than any other builtin variable or function. Thus, if performance matters, do not use them &amp;quot;just for good&amp;quot;, but only when you really need them. Also, please note that neither the variable syntax variants &amp;lt;tt&amp;gt;%relative(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(relative)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&amp;lt;/s&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4206</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4206"/>
		<updated>2006-11-27T17:06:54Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;br /&gt;
&lt;br /&gt;
=== Path manipulation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$relative(path), $absolute(path)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Replaces the argument &amp;lt;tt&amp;gt;path&amp;lt;/tt&amp;gt; (which may be a variable) with its normalised absolute path/filename equivalent or with a path relative to the project directory, respectively.&lt;br /&gt;
&lt;br /&gt;
:Keep in mind that functions &amp;lt;tt&amp;gt;$relative()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$absolute()&amp;lt;/tt&amp;gt; are considerably more computionally expensive than any other builtin variable or function. Thus, if performance matters, do not use them &amp;quot;just for good&amp;quot;, but only when you really need them. Also, please note that neither the variable syntax variants &amp;lt;tt&amp;gt;%relative(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(relative)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4205</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4205"/>
		<updated>2006-11-27T14:11:40Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Build targets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_CC), $(TARGET_CPP), $(TARGET_LD), $(TARGET_LIB)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's build tool executable (compiler, linker, etc).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4204</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4204"/>
		<updated>2006-11-27T12:54:10Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Conditional Evaluation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence other than &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4203</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=4203"/>
		<updated>2006-11-27T12:53:05Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$VARIABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$(VARIABLE)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${VARIABLE}&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;%VARIABLE%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
&lt;br /&gt;
'''Per-target definitions have precedence over per-project definitions.'''&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
=== Files and directories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_FILENAME)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_FILE)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PROJECT_DIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECTDIR)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(PROJECT_DIRECTORY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_DIRNAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's containing directory (relative to the common top level path)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_STEM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's base name (without extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ACTIVE_EDITOR_EXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Currently active file's extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(MAKEFILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(CODEBLOCKS)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APPPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(APP-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(DATAPATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA_PATH)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(DATA-PATH)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'shared' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(PLUGINS)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The 'plugins' directory of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
=== Build targets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(FOOBAR_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A ''specific'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_NAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_FILE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TARGET_OUTPUT_BASENAME)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The ''current'' target's output file's base name (no path, no extension).&lt;br /&gt;
&lt;br /&gt;
=== Language and encoding ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(LANGUAGE)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(ENCODING)&amp;lt;/code&amp;gt;&lt;br /&gt;
:The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
=== Time and date ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYYMMDD&amp;lt;/code&amp;gt; (for example 20051228)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TODAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Current date in the form &amp;lt;code&amp;gt;YYYY-MM-DD&amp;lt;/code&amp;gt; (for example 2005-12-28)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(NOW_L)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Timestamp in the form &amp;lt;code&amp;gt;YYYY-MM-DD-hh.mm.ss&amp;lt;/code&amp;gt; (for example 2005-12-28-07.15.45)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(WEEKDAY)&amp;lt;/code&amp;gt;&lt;br /&gt;
:Human-readable day of the week (for example &amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(TDAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(TODAY_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(NOW_L_UTC)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$(WEEKDAY_UTC)&amp;lt;/code&amp;gt;&lt;br /&gt;
:These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
=== Random values ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(COIN)&amp;lt;/code&amp;gt;&lt;br /&gt;
:This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$(RANDOM)&amp;lt;/code&amp;gt;&lt;br /&gt;
:A 16bit positive random number (0-65535)&lt;br /&gt;
&lt;br /&gt;
=== Conditional Evaluation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$if(condition){true clause}{false clause}&amp;lt;/code&amp;gt;&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;true clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty character sequence&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a non-empty variable that does not resolve to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that evaluates to &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; (implicit by previous condition)&lt;br /&gt;
:Conditional evaluation will resolve to its &amp;lt;tt&amp;gt;false clause&amp;lt;/tt&amp;gt; if&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is empty&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
::&amp;lt;tt&amp;gt;condition&amp;lt;/tt&amp;gt; is a variable that is empty or evaluates to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do note that neither the variable syntax variants &amp;lt;tt&amp;gt;%if(...)&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;$(if)(...)&amp;lt;/tt&amp;gt; are supported for this construct.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Keyboard_Shortcuts&amp;diff=4082</id>
		<title>Keyboard Shortcuts</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Keyboard_Shortcuts&amp;diff=4082"/>
		<updated>2006-11-03T20:36:06Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
&lt;br /&gt;
::''Note: You can define your own keyboard shortcuts with the [[Keyboard Shortcuts plugin]]''&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Undo last action || Ctrl + Z&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Redo last action || Ctrl + Shift + Z&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Cut selected text || Ctrl + X&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Copy selected text || Ctrl + C&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Paste text from clipboard || Ctrl + V&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select all text || Ctrl + A&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Swap header / source || F11&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Comment highlighted code || Ctrl + Shift + C&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Uncomment highlighted code || Ctrl + Shift + X&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Duplicate line caret is on || Ctrl + D&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Auto-complete / Abbreviations || Ctrl + Space / Ctrl + J&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Show call tip || Ctrl + Shift + Space&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Swap line caret is on with line above it || Ctrl + T&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle bookmark || Ctrl + B&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto previous bookmark || Alt + PgUp&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto next bookmark || Alt + PgDown&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle current block folding || F12&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle all folds || Shift + F12&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a list of shortcuts provided by the Code::Blocks' editor component. These shortcuts cannot be rebound.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Magnify text size. || Ctrl + Keypad &amp;quot;+&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Reduce text size. || Ctrl + Keypad &amp;quot;-&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Restore text size to normal. || Ctrl + Keypad &amp;quot;/&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Cycle through recent files. || Ctrl + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Indent block. || Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Dedent block. || Shift + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to start of word. || Ctrl + BackSpace&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to end of word. || Ctrl + Delete&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to start of line. || Ctrl + Shift + BackSpace&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Delete to end of line. || Ctrl + Shift + Delete&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to start of document. || Ctrl + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to start of document. || Ctrl + Shift + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to start of display line. || Alt + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to start of display line. || Alt + Shift + Home&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to end of document. || Ctrl + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to end of document. || Ctrl + Shift + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to end of display line. || Alt + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Extend selection to end of display line. || Alt + Shift + End&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Expand or contract a fold point. || Ctrl + Keypad &amp;quot;*&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Create or delete a bookmark. || Ctrl + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Go to next bookmark. || F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select to next bookmark. || Alt + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find selection. || Ctrl + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find selection backwards. || Ctrl + Shift + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Scroll up. || Ctrl + Up&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Scroll down. || Ctrl + Down&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line cut. || Ctrl + L&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line copy. || Ctrl + Shift + T&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line delete. || Ctrl + Shift + L&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line transpose with previous. || Ctrl + T&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Line duplicate. || Ctrl + D&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find matching preprocessor conditional, skipping nested ones. || Ctrl + K&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select to matching preprocessor conditional. || Ctrl + Shift + K&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find matching preprocessor conditional backwards, skipping nested ones. || Ctrl + J&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Select to matching preprocessor conditional backwards. || Ctrl + Shift + J&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous paragraph. Shift extends selection. || Ctrl + [&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next paragraph. Shift extends selection. || Ctrl + ]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous word. Shift extends selection. || Ctrl + Left&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next word. Shift extends selection. || Ctrl + Right&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous word part. Shift extends selection. || Ctrl + /&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next word part. Shift extends selection. || Ctrl + \&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| New file or project || Ctrl + N&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Open existing file or project || Ctrl + O&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Save current file || Ctrl + S&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Save all files || Ctrl + Shift + S&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Close current file || Ctrl + F4 / Ctrl + W&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Close all files || Ctrl + Shift + F4 / Ctrl + Shift + W&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a list of shortcuts provided by the Code::Blocks' tab component. These shortcuts cannot be rebound.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate next open file || Ctrl + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate previous open file || Ctrl + Shift + Tab&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== View ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Show / hide Messages pane || F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Show / hide Management pane || Shift + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Move project up (in Project tree) || Ctrl + Shift + Up&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Move project down (in Project tree) || Ctrl + Shift + Down&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate prior (in Project tree) || Alt + F5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Activate next (in Project tree) || Alt + F6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Zoom in / out || Ctrl + Roll Mouse Wheel&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Focus editor || CTRL + Alt + E&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Search ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find || Ctrl + F&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find next || F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find previous || Shift + F3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Find in files || Crtl + Shift + F&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Replace || Ctrl + R&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Replace in files || Ctrl + Shift + R&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto line || Ctrl + G&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto file || Alt + G&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Goto function || Ctrl + Alt + G&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Build || Ctrl + F9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Compile current file || Ctrl + Shift + F9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Run || Ctrl + F10&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Build and Run || F9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Rebuild || Ctrl + F11&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debug ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: 1px solid gray&amp;quot;&lt;br /&gt;
!Function &lt;br /&gt;
!Shortcut Key&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Debug || F8&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Continue debugging || Ctrl + F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Step over a code block || F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Step into a code block || Shift + F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Step out of a code block || Ctrl + Shift + F7&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Toggle breakpoint || F5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Run to cursor || F4&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Previous error || Alt + F1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Next error || Alt + F2&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3903</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3903"/>
		<updated>2006-10-07T13:32:57Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Other developer tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
Note: At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality (unless you really feel unsure unpacking a couple of archives).&lt;br /&gt;
&lt;br /&gt;
Also, the installer reportedly does not work on Windows Vista, follow the [[MinGW_installation#GCC_3.4.5_manual_install | manual installation instructions]].&amp;lt;br /&amp;gt;&lt;br /&gt;
(In general, MinGW is not confirmed to work for any Windows Vista betas or RCs)&lt;br /&gt;
&lt;br /&gt;
MinGW Installer 5.02 allows to choose the SF mirror while 5.03 does not (automatically picks one randomly).&lt;br /&gt;
Either installer allows to downloads/installs &amp;quot;previous&amp;quot;, &amp;quot;current&amp;quot; and &amp;quot;candidate&amp;quot; mingw packages.&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW Installer 5.0.2]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe MinGW Installer 5.0.3]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version.'''&lt;br /&gt;
&lt;br /&gt;
Please do note that the installer applications require an internet connection and will download the actual MinGW packages at the time of installation.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.5 manual install==&lt;br /&gt;
This is the &amp;quot;candidate&amp;quot; release of MinGW, so it is not considered &amp;quot;stable&amp;quot; officially.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with this release.&lt;br /&gt;
&lt;br /&gt;
To do a manual install, simply download the desired files and extract them all into the same directory. If you have WinZip, PowerArchiver, or any other similar program, this is as easy as selecting all the archives simultaneously and choosing &amp;quot;unpack here&amp;quot; from the context menu.&lt;br /&gt;
&lt;br /&gt;
For clarity, I recommend to put MinGW into C:\MinGW, but almost any other locations should do equally well. Avoid pathnames with spaces or exotic characters, as this may confuse some commandline tools (most notably &amp;lt;tt&amp;gt;gdb&amp;lt;/tt&amp;gt;).&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Other developer tools====&lt;br /&gt;
=====UnxUtils=====&lt;br /&gt;
Ports of the most often used Unix utilities. Note that some tools in UnxUtils are quite a bit outdated, so make sure you &amp;lt;u&amp;gt;do not&amp;lt;/u&amp;gt; overwrite already existing MinGW files with their UnxUtils counterparts.&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUtils.zip UnxUtils]&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUpdates.zip UnxUtils-Latest-Updates]&lt;br /&gt;
&lt;br /&gt;
=====GnuWin32=====&lt;br /&gt;
''More recent'' versions of commonly used Unix utilities. Also: utilities not found in UnxUtils at all.&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/coreutils-5.3.0-bin.zip?download coreutils-5.3.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/zip-2.3-3-bin.zip zip-2.3.3]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/tar-1.13-1-bin.zip?download tar-1.13-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gzip-1.3.5-3-bin.zip?download gzip-1.3.5]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bzip2-1.0.3-1-bin.zip?download bzip2-1.0.0-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/autoconf-2.59-bin.zip?download autoconf-2.59]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/automake-1.9.4-bin.zip?download automake-1.9.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bison-2.1-bin.zip?download bison-2.1 (includes m4)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/flex-2.5.4a-1-bin.zip?download flex-2.5.4a]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gperf-3.0.1-bin.zip?download gperf-3.0.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/diffutils-2.8.7-1-bin.zip?download diffutils-2.8.7]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/patch-2.5.9-6-bin.zip?download patch-2.5.9-6]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/grep-2.5.1a-bin.zip?download grep-2.5.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/sed-4.1.4-bin.zip?download sed-4.1.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/hextools-1.0-bin.zip?download hextools-1.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/findutils-4.2.20-2-bin.zip?download findutils-4.2.20]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/less-394-bin.zip?download less 3.94]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download wget-1.9.1]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-0.14.5.zip gettext-0.14.5]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-dev-0.14.5.zip gettext-dev-0.14.5]&lt;br /&gt;
&lt;br /&gt;
Dependencies:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/pcre-6.4-1-bin.zip?download pcre-6.4.1 (needed by grep and less)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libintl-0.14.4-bin.zip?download libintl-0.14.4 (needed by most tools)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libiconv-1.9.2-1-bin.zip?download libiconv-1.9.2-1 (needed by most tools)]&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the either the 3.4.5 or 3.4.2 releases until a build from the 4.x branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with either 3.4.4 or 3.4.5.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3902</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3902"/>
		<updated>2006-10-07T13:21:23Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Other developer tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
Note: At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality (unless you really feel unsure unpacking a couple of archives).&lt;br /&gt;
&lt;br /&gt;
Also, the installer reportedly does not work on Windows Vista, follow the [[MinGW_installation#GCC_3.4.5_manual_install | manual installation instructions]].&amp;lt;br /&amp;gt;&lt;br /&gt;
(In general, MinGW is not confirmed to work for any Windows Vista betas or RCs)&lt;br /&gt;
&lt;br /&gt;
MinGW Installer 5.02 allows to choose the SF mirror while 5.03 does not (automatically picks one randomly).&lt;br /&gt;
Either installer allows to downloads/installs &amp;quot;previous&amp;quot;, &amp;quot;current&amp;quot; and &amp;quot;candidate&amp;quot; mingw packages.&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW Installer 5.0.2]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe MinGW Installer 5.0.3]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version.'''&lt;br /&gt;
&lt;br /&gt;
Please do note that the installer applications require an internet connection and will download the actual MinGW packages at the time of installation.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.5 manual install==&lt;br /&gt;
This is the &amp;quot;candidate&amp;quot; release of MinGW, so it is not considered &amp;quot;stable&amp;quot; officially.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with this release.&lt;br /&gt;
&lt;br /&gt;
To do a manual install, simply download the desired files and extract them all into the same directory. If you have WinZip, PowerArchiver, or any other similar program, this is as easy as selecting all the archives simultaneously and choosing &amp;quot;unpack here&amp;quot; from the context menu.&lt;br /&gt;
&lt;br /&gt;
For clarity, I recommend to put MinGW into C:\MinGW, but almost any other locations should do equally well. Avoid pathnames with spaces or exotic characters, as this may confuse some commandline tools (most notably &amp;lt;tt&amp;gt;gdb&amp;lt;/tt&amp;gt;).&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Other developer tools====&lt;br /&gt;
Ports of the most often used Unix utilities. Note that some tools in UnxUtils are quite a bit outdated, so make sure you &amp;lt;u&amp;gt;do not&amp;lt;/u&amp;gt; overwrite already existing MinGW files with their UnxUtils counterparts:&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUtils.zip UnxUtils]&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUpdates.zip UnxUtils-Latest-Updates]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More recent versions of commonly used utilities and utilities not found in UnxUtils:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/coreutils-5.3.0-bin.zip?download coreutils-5.3.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/zip-2.3-3-bin.zip zip-2.3.3]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/tar-1.13-1-bin.zip?download tar-1.13-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gzip-1.3.5-3-bin.zip?download gzip-1.3.5]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bzip2-1.0.3-1-bin.zip?download bzip2-1.0.0-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/autoconf-2.59-bin.zip?download autoconf-2.59]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/automake-1.9.4-bin.zip?download automake-1.9.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bison-2.1-bin.zip?download bison-2.1 (includes m4)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/flex-2.5.4a-1-bin.zip?download flex-2.5.4a]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gperf-3.0.1-bin.zip?download gperf-3.0.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/diffutils-2.8.7-1-bin.zip?download diffutils-2.8.7]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/patch-2.5.9-6-bin.zip?download patch-2.5.9-6]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/grep-2.5.1a-bin.zip?download grep-2.5.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/sed-4.1.4-bin.zip?download sed-4.1.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/hextools-1.0-bin.zip?download hextools-1.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/findutils-4.2.20-2-bin.zip?download findutils-4.2.20]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/less-394-bin.zip?download less 3.94]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download wget-1.9.1]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-0.14.5.zip gettext-0.14.5]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-dev-0.14.5.zip gettext-dev-0.14.5]&lt;br /&gt;
&lt;br /&gt;
Dependencies:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/pcre-6.4-1-bin.zip?download pcre-6.4.1 (needed by grep and less)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libintl-0.14.4-bin.zip?download libintl-0.14.4 (needed by most tools)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libiconv-1.9.2-1-bin.zip?download libiconv-1.9.2-1 (needed by most tools)]&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the either the 3.4.5 or 3.4.2 releases until a build from the 4.x branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with either 3.4.4 or 3.4.5.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3899</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3899"/>
		<updated>2006-10-05T09:02:07Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* GCC 3.4.5 manual install */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
Note: At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality (unless you really feel unsure unpacking a couple of archives).&lt;br /&gt;
&lt;br /&gt;
Also, the installer reportedly does not work on Windows Vista, follow the [[MinGW_installation#GCC_3.4.5_manual_install | manual installation instructions]].&amp;lt;br /&amp;gt;&lt;br /&gt;
(In general, MinGW is not confirmed to work for any Windows Vista betas or RCs)&lt;br /&gt;
&lt;br /&gt;
MinGW Installer 5.02 allows to choose the SF mirror while 5.03 does not (automatically picks one randomly).&lt;br /&gt;
Either installer allows to downloads/installs &amp;quot;previous&amp;quot;, &amp;quot;current&amp;quot; and &amp;quot;candidate&amp;quot; mingw packages.&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW Installer 5.0.2]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe MinGW Installer 5.0.3]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version.'''&lt;br /&gt;
&lt;br /&gt;
Please do note that the installer applications require an internet connection and will download the actual MinGW packages at the time of installation.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.5 manual install==&lt;br /&gt;
This is the &amp;quot;candidate&amp;quot; release of MinGW, so it is not considered &amp;quot;stable&amp;quot; officially.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with this release.&lt;br /&gt;
&lt;br /&gt;
To do a manual install, simply download the desired files and extract them all into the same directory. If you have WinZip, PowerArchiver, or any other similar program, this is as easy as selecting all the archives simultaneously and choosing &amp;quot;unpack here&amp;quot; from the context menu.&lt;br /&gt;
&lt;br /&gt;
For clarity, I recommend to put MinGW into C:\MinGW, but almost any other locations should do equally well. Avoid pathnames with spaces or exotic characters, as this may confuse some commandline tools (most notably &amp;lt;tt&amp;gt;gdb&amp;lt;/tt&amp;gt;).&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Other developer tools====&lt;br /&gt;
Ports of the most often used Unix utilities. Note that some tools in UnxUtils are quite a bit outdated, so make sure you &amp;lt;u&amp;gt;do not&amp;lt;/u&amp;gt; overwrite already existing MinGW files with their UnxUtils counterparts:&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUtils.zip UnxUtils]&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUpdates.zip UnxUtils-Latest-Updates]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More recent versions of commonly used utilities and utilities not found in UnxUtils:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/coreutils-5.3.0-bin.zip?download coreutils-5.3.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/zip-2.31-bin.zip?download zip-2.31]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/tar-1.13-1-bin.zip?download tar-1.13-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gzip-1.3.5-3-bin.zip?download gzip-1.3.5]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bzip2-1.0.3-1-bin.zip?download bzip2-1.0.0-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/autoconf-2.59-bin.zip?download autoconf-2.59]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/automake-1.9.4-bin.zip?download automake-1.9.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bison-2.1-bin.zip?download bison-2.1 (includes m4)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/flex-2.5.4a-1-bin.zip?download flex-2.5.4a]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gperf-3.0.1-bin.zip?download gperf-3.0.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/diffutils-2.8.7-1-bin.zip?download diffutils-2.8.7]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/patch-2.5.9-6-bin.zip?download patch-2.5.9-6]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/grep-2.5.1a-bin.zip?download grep-2.5.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/sed-4.1.4-bin.zip?download sed-4.1.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/hextools-1.0-bin.zip?download hextools-1.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/findutils-4.2.20-2-bin.zip?download findutils-4.2.20]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/less-394-bin.zip?download less 3.94]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download wget-1.9.1]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-0.14.5.zip gettext-0.14.5]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-dev-0.14.5.zip gettext-dev-0.14.5]&lt;br /&gt;
&lt;br /&gt;
Dependencies:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/pcre-6.4-1-bin.zip?download pcre-6.4.1 (needed by grep and less)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libintl-0.14.4-bin.zip?download libintl-0.14.4 (needed by most tools)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libiconv-1.9.2-1-bin.zip?download libiconv-1.9.2-1 (needed by most tools)]&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the either the 3.4.5 or 3.4.2 releases until a build from the 4.x branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with either 3.4.4 or 3.4.5.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3898</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=3898"/>
		<updated>2006-10-05T08:52:55Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Compile Code::Blocks */&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;
&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  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]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).&amp;lt;br/&amp;gt;&lt;br /&gt;
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].&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.tigris.org/download.html 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 commandline client] equally well.&lt;br /&gt;
&lt;br /&gt;
It is generally a good idea to install the commandline 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 preferrable to the manual parsing of the entries file that is used as fallback.&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 builtin fallback 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 commandline 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;
=== 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;
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 svn://svn.berlios.de/codeblocks/trunk&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 [https://wiki.codeblocks.org/index.php?title=Mingw#Other_developer_tools tools page], you'll be fine, alternatively you can use the one found [http://www.info-zip.org/ here].&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;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The stripped (&amp;quot;production&amp;quot;) executable is found in &amp;lt;tt&amp;gt;output&amp;lt;/tt&amp;gt; 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;
For future updates, go into 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;
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. 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3897</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=3897"/>
		<updated>2006-10-05T08:41:30Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* SVN client */&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;
&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  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]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).&amp;lt;br/&amp;gt;&lt;br /&gt;
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].&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.tigris.org/download.html 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 commandline client] equally well.&lt;br /&gt;
&lt;br /&gt;
It is generally a good idea to install the commandline 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 preferrable to the manual parsing of the entries file that is used as fallback.&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 builtin fallback 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 commandline 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;
=== 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;
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 svn://svn.berlios.de/codeblocks/trunk&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 [https://wiki.codeblocks.org/index.php?title=Mingw#Other_developer_tools tools page], you'll be fine, alternatively you can use the one found [http://www.info-zip.org/ here].&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;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The location of executable is &amp;lt;tt&amp;gt;src\output&amp;lt;/tt&amp;gt; in Code::Blocks tree. From here you do not need the nighty build any more.&lt;br /&gt;
&lt;br /&gt;
For future updates, go into 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;. You'll now have an up-to-date Code::Blocks!&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;
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. 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3896</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=3896"/>
		<updated>2006-10-05T08:23:42Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* MinGW compiler */&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;
&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  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]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).&amp;lt;br/&amp;gt;&lt;br /&gt;
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].&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;
It is recommended that you install [http://tortoisesvn.tigris.org/download.html 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 commandline client].&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;
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 svn://svn.berlios.de/codeblocks/trunk&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 [https://wiki.codeblocks.org/index.php?title=Mingw#Other_developer_tools tools page], you'll be fine, alternatively you can use the one found [http://www.info-zip.org/ here].&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;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The location of executable is &amp;lt;tt&amp;gt;src\output&amp;lt;/tt&amp;gt; in Code::Blocks tree. From here you do not need the nighty build any more.&lt;br /&gt;
&lt;br /&gt;
For future updates, go into 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;. You'll now have an up-to-date Code::Blocks!&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;
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. 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3895</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=3895"/>
		<updated>2006-10-05T08:07:27Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* zip.exe */&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;
&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  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. You will need a complete, working [[MinGW installation]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).&amp;lt;br/&amp;gt;&lt;br /&gt;
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].&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;
It is recommended that you install [http://tortoisesvn.tigris.org/download.html 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 commandline client].&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;
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 svn://svn.berlios.de/codeblocks/trunk&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 [https://wiki.codeblocks.org/index.php?title=Mingw#Other_developer_tools tools page], you'll be fine, alternatively you can use the one found [http://www.info-zip.org/ here].&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;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The location of executable is &amp;lt;tt&amp;gt;src\output&amp;lt;/tt&amp;gt; in Code::Blocks tree. From here you do not need the nighty build any more.&lt;br /&gt;
&lt;br /&gt;
For future updates, go into 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;. You'll now have an up-to-date Code::Blocks!&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;
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. 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3894</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=3894"/>
		<updated>2006-10-05T07:55:16Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* wxWidgets */&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;
&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  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. You will need a complete, working [[MinGW installation]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).&amp;lt;br/&amp;gt;&lt;br /&gt;
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].&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;
It is recommended that you install [http://tortoisesvn.tigris.org/download.html 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 commandline client].&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;
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 svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
&lt;br /&gt;
=== zip.exe ===&lt;br /&gt;
&lt;br /&gt;
You'll also need the 'zip.exe' compression program, found [http://www.info-zip.org/ here].&lt;br /&gt;
Only the command-line zip.exe is needed; you must install it somewhere in your PATH.&lt;br /&gt;
Put zip.exe wherever you installed MinGW in the '''bin''', or the '''mingw32\bin''' folder. &lt;br /&gt;
&lt;br /&gt;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The location of executable is &amp;lt;tt&amp;gt;src\output&amp;lt;/tt&amp;gt; in Code::Blocks tree. From here you do not need the nighty build any more.&lt;br /&gt;
&lt;br /&gt;
For future updates, go into 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;. You'll now have an up-to-date Code::Blocks!&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;
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. 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3877</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=3877"/>
		<updated>2006-10-01T17:40:33Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Building */&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;
&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  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. You will need a complete, working [[MinGW installation]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.2&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;
[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.2.zip Download wxWidgets 2.6.2 from Sourceforge].&lt;br /&gt;
&lt;br /&gt;
You can also use the more recent '''[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-Setup.exe wxWidgets-2.6.3]''', but you will need to install '''[ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.zip patch 2 for 2.6.3]''' over it.&lt;br /&gt;
The patch is not a diff file, but a '''.zip''' file that must be unpacked on top of wxWidgets tree.&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;
It is recommended that you install [http://tortoisesvn.tigris.org/download.html 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 commandline client].&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;
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 svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
&lt;br /&gt;
=== zip.exe ===&lt;br /&gt;
&lt;br /&gt;
You'll also need the 'zip.exe' compression program, found [http://www.info-zip.org/ here].&lt;br /&gt;
Only the command-line zip.exe is needed; you must install it somewhere in your PATH.&lt;br /&gt;
Put zip.exe wherever you installed MinGW in the '''bin''', or the '''mingw32\bin''' folder. &lt;br /&gt;
&lt;br /&gt;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The location of executable is &amp;lt;tt&amp;gt;src\output&amp;lt;/tt&amp;gt; in Code::Blocks tree. From here you do not need the nighty build any more.&lt;br /&gt;
&lt;br /&gt;
For future updates, go into 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;. You'll now have an up-to-date Code::Blocks!&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;
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. 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #f9f9f9; color: #666;&amp;quot;&amp;gt;&lt;br /&gt;
=== ANSI Build ===&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;
&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3876</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=3876"/>
		<updated>2006-10-01T17:16:26Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &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;
&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  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. You will need a complete, working [[MinGW installation]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.2&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;
[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.2.zip Download wxWidgets 2.6.2 from Sourceforge].&lt;br /&gt;
&lt;br /&gt;
You can also use the more recent '''[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-Setup.exe wxWidgets-2.6.3]''', but you will need to install '''[ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.zip patch 2 for 2.6.3]''' over it.&lt;br /&gt;
The patch is not a diff file, but a '''.zip''' file that must be unpacked on top of wxWidgets tree.&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;
It is recommended that you install [http://tortoisesvn.tigris.org/download.html 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 commandline client].&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;
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 svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
&lt;br /&gt;
=== zip.exe ===&lt;br /&gt;
&lt;br /&gt;
You'll also need the 'zip.exe' compression program, found [http://www.info-zip.org/ here].&lt;br /&gt;
Only the command-line zip.exe is needed; you must install it somewhere in your PATH.&lt;br /&gt;
Put zip.exe wherever you installed MinGW in the '''bin''', or the '''mingw32\bin''' folder. &lt;br /&gt;
&lt;br /&gt;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The location of executable is &amp;lt;tt&amp;gt;src\output&amp;lt;/tt&amp;gt; in Code::Blocks tree. From here you do not need the nighty build any more.&lt;br /&gt;
&lt;br /&gt;
For future updates, go into 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;. You'll now have an up-to-date Code::Blocks!&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;
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. 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;
''Note:&lt;br /&gt;
Code::Blocks is now built in Unicode mode by default (see above).&lt;br /&gt;
However, if you don't care about Unicode or if you use an old Windows version that does not support Unicode, then you might want to build an ANSI version nevertheless.''&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;
Provided by Thomas Denk&lt;br /&gt;
Small edits by Max&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&amp;diff=3875</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=3875"/>
		<updated>2006-10-01T17:10:57Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Removed wrong $(#cb) variable, some minor edits&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;
&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  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. You will need a complete, working [[MinGW installation]].&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets ===&lt;br /&gt;
&lt;br /&gt;
Code::Blocks officially supports wxWidgets 2.6.2&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;
[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.2.zip Download wxWidgets 2.6.2 from Sourceforge].&lt;br /&gt;
&lt;br /&gt;
You can also use the more recent '''[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-Setup.exe wxWidgets-2.6.3]''', but you will need to install '''[ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.zip patch 2 for 2.6.3]''' over it.&lt;br /&gt;
The patch is not a diff file, but a '''.zip''' file that must be unpacked on top of wxWidgets tree.&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;
It is recommended that you install [http://tortoisesvn.tigris.org/download.html 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 commandline client].&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;
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 svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
&lt;br /&gt;
=== zip.exe ===&lt;br /&gt;
&lt;br /&gt;
You'll also need the 'zip.exe' compression program, found [http://www.info-zip.org/ here].&lt;br /&gt;
Only the command-line zip.exe is needed; you must install it somewhere in your PATH.&lt;br /&gt;
Put zip.exe wherever you installed MinGW in the '''bin''', or the '''mingw32\bin''' folder. &lt;br /&gt;
&lt;br /&gt;
== Building ==&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 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1  clean&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 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;
'''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). Enter the location where you unpacked wxWidgets.&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 compilaton has finished, copy &amp;lt;tt&amp;gt;lib\gcc_dll\wxmsw26u_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;
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;
The location of executable is &amp;lt;tt&amp;gt;src\output&amp;lt;/tt&amp;gt; in Code::Blocks tree. From here you do not need the nighty build any more.&lt;br /&gt;
&lt;br /&gt;
For future updates, go into 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;. You'll now have an up-to-date Code::Blocks!&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;
=== ANSI Build ===&lt;br /&gt;
&lt;br /&gt;
''Note:&lt;br /&gt;
Code::Blocks is now built in Unicode mode by default (see above).&lt;br /&gt;
However, if you don't care about Unicode or if you use an old Windows version that does not support Unicode, then you might want to build an ANSI version nevertheless.''&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 compilaton has finished, copy wxmsw26u_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 [http://en.wikipedia.org/wiki/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 nighty 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;
Provided by Thomas Denk&lt;br /&gt;
Small edits by Max&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3842</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3842"/>
		<updated>2006-09-21T17:23:37Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Using the MinGW installer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
Note: At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality (unless you really feel unsure unpacking a couple of archives).&lt;br /&gt;
&lt;br /&gt;
Also, the installer reportedly does not work on Windows Vista, follow the [[MinGW_installation#GCC_3.4.5_manual_install | manual installation instructions]].&amp;lt;br /&amp;gt;&lt;br /&gt;
(In general, MinGW is not confirmed to work for any Windows Vista betas or RCs)&lt;br /&gt;
&lt;br /&gt;
MinGW Installer 5.02 allows to choose the SF mirror while 5.03 does not (automatically picks one randomly).&lt;br /&gt;
Either installer allows to downloads/installs &amp;quot;previous&amp;quot;, &amp;quot;current&amp;quot; and &amp;quot;candidate&amp;quot; mingw packages.&lt;br /&gt;
&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW Installer 5.0.2]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe MinGW Installer 5.0.3]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version.'''&lt;br /&gt;
&lt;br /&gt;
Please do note that the installer applications require an internet connection and will download the actual MinGW packages at the time of installation.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.5 manual install==&lt;br /&gt;
This is the &amp;quot;candidate&amp;quot; release of MinGW, so it is not considered &amp;quot;stable&amp;quot; officially.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with this release.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download http://prdownloads.sf.net/mingw/gcc-g77-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Other developer tools====&lt;br /&gt;
Ports of the most often used Unix utilities. Note that some tools in UnxUtils are quite a bit outdated, so make sure you &amp;lt;u&amp;gt;do not&amp;lt;/u&amp;gt; overwrite already existing MinGW files with their UnxUtils counterparts:&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUtils.zip UnxUtils]&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUpdates.zip UnxUtils-Latest-Updates]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More recent versions of commonly used utilities and utilities not found in UnxUtils:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/coreutils-5.3.0-bin.zip?download coreutils-5.3.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/zip-2.31-bin.zip?download zip-2.31]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/tar-1.13-1-bin.zip?download tar-1.13-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gzip-1.3.5-3-bin.zip?download gzip-1.3.5]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bzip2-1.0.3-1-bin.zip?download bzip2-1.0.0-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/autoconf-2.59-bin.zip?download autoconf-2.59]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/automake-1.9.4-bin.zip?download automake-1.9.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bison-2.1-bin.zip?download bison-2.1 (includes m4)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/flex-2.5.4a-1-bin.zip?download flex-2.5.4a]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gperf-3.0.1-bin.zip?download gperf-3.0.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/diffutils-2.8.7-1-bin.zip?download diffutils-2.8.7]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/patch-2.5.9-6-bin.zip?download patch-2.5.9-6]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/grep-2.5.1a-bin.zip?download grep-2.5.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/sed-4.1.4-bin.zip?download sed-4.1.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/hextools-1.0-bin.zip?download hextools-1.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/findutils-4.2.20-2-bin.zip?download findutils-4.2.20]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/less-394-bin.zip?download less 3.94]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download wget-1.9.1]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-0.14.5.zip gettext-0.14.5]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-dev-0.14.5.zip gettext-dev-0.14.5]&lt;br /&gt;
&lt;br /&gt;
Dependencies:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/pcre-6.4-1-bin.zip?download pcre-6.4.1 (needed by grep and less)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libintl-0.14.4-bin.zip?download libintl-0.14.4 (needed by most tools)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libiconv-1.9.2-1-bin.zip?download libiconv-1.9.2-1 (needed by most tools)]&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the either the 3.4.5 or 3.4.2 releases until a build from the 4.x branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with either 3.4.4 or 3.4.5.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran77 compiler====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Utilities&amp;diff=3740</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Utilities&amp;diff=3740"/>
		<updated>2006-08-30T18:39:19Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MinGW_installation]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Binutils&amp;diff=3739</id>
		<title>Binutils</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Binutils&amp;diff=3739"/>
		<updated>2006-08-30T18:32:59Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MinGW_installation]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Mingw&amp;diff=3738</id>
		<title>Mingw</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Mingw&amp;diff=3738"/>
		<updated>2006-08-30T18:31:21Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MinGW_installation]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3733</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3733"/>
		<updated>2006-08-30T13:51:28Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Other developer tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-4.1.1.exe MinGW 4.1.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW 5.0.2]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version. Downloading MinGW 4.1 will not provide gcc 4.1!'''&lt;br /&gt;
&lt;br /&gt;
These are merely installer applications which will upon request download and decompress the actual packages needed. At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality.&lt;br /&gt;
'''Both MinGW-4.1.1 and MinGW-5.0.2 are to be considered &amp;quot;alpha&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.5 manual install==&lt;br /&gt;
This is the &amp;quot;candidate&amp;quot; release of MinGW, so it is not considered &amp;quot;stable&amp;quot; officially.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with this release.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Other developer tools====&lt;br /&gt;
Ports of the most often used Unix utilities. Note that some tools in UnxUtils are quite a bit outdated, so make sure you &amp;lt;u&amp;gt;do not&amp;lt;/u&amp;gt; overwrite already existing MinGW files with their UnxUtils counterparts:&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUtils.zip UnxUtils]&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUpdates.zip UnxUtils-Latest-Updates]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More recent versions of commonly used utilities and utilities not found in UnxUtils:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/coreutils-5.3.0-bin.zip?download coreutils-5.3.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/zip-2.31-bin.zip?download zip-2.31]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/tar-1.13-1-bin.zip?download tar-1.13-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gzip-1.3.5-3-bin.zip?download gzip-1.3.5]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bzip2-1.0.3-1-bin.zip?download bzip2-1.0.0-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/autoconf-2.59-bin.zip?download autoconf-2.59]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/automake-1.9.4-bin.zip?download automake-1.9.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bison-2.1-bin.zip?download bison-2.1 (includes m4)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/flex-2.5.4a-1-bin.zip?download flex-2.5.4a]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gperf-3.0.1-bin.zip?download gperf-3.0.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/diffutils-2.8.7-1-bin.zip?download diffutils-2.8.7]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/patch-2.5.9-6-bin.zip?download patch-2.5.9-6]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/grep-2.5.1a-bin.zip?download grep-2.5.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/sed-4.1.4-bin.zip?download sed-4.1.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/hextools-1.0-bin.zip?download hextools-1.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/findutils-4.2.20-2-bin.zip?download findutils-4.2.20]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/less-394-bin.zip?download less 3.94]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download wget-1.9.1]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-0.14.5.zip gettext-0.14.5]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-dev-0.14.5.zip gettext-dev-0.14.5]&lt;br /&gt;
&lt;br /&gt;
Dependencies:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/pcre-6.4-1-bin.zip?download pcre-6.4.1 (needed by grep and less)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libintl-0.14.4-bin.zip?download libintl-0.14.4 (needed by most tools)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libiconv-1.9.2-1-bin.zip?download libiconv-1.9.2-1 (needed by most tools)]&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the either the 3.4.5 or 3.4.2 releases until a build from the 4.x branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with either 3.4.4 or 3.4.5.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3732</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3732"/>
		<updated>2006-08-30T13:19:42Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* other useful stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-4.1.1.exe MinGW 4.1.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW 5.0.2]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version. Downloading MinGW 4.1 will not provide gcc 4.1!'''&lt;br /&gt;
&lt;br /&gt;
These are merely installer applications which will upon request download and decompress the actual packages needed. At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality.&lt;br /&gt;
'''Both MinGW-4.1.1 and MinGW-5.0.2 are to be considered &amp;quot;alpha&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.5 manual install==&lt;br /&gt;
This is the &amp;quot;candidate&amp;quot; release of MinGW, so it is not considered &amp;quot;stable&amp;quot; officially.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with this release.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Other developer tools====&lt;br /&gt;
Ports of the most often used Unix utilities. Note that some tools in UnxUtils are quite a bit outdated, so make sure you &amp;lt;u&amp;gt;do not&amp;lt;/u&amp;gt; overwrite already existing MinGW files with their UnxUtils counterparts:&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUtils.zip UnxUtils]&lt;br /&gt;
*[http://unxutils.sourceforge.net/UnxUpdates.zip UnxUtils-Latest-Updates]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More recent versions of commonly used utilities and utilities not found in UnxUtils:&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/coreutils-5.3.0-bin.zip?download coreutils-5.3.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/zip-2.31-bin.zip?download zip-2.31]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/tar-1.13-1-bin.zip?download tar-1.13-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gzip-1.3.5-3-bin.zip?download gzip-1.3.5]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bzip2-1.0.3-1-bin.zip?download bzip2-1.0.0-1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/autoconf-2.59-bin.zip?download autoconf-2.59]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/automake-1.9.4-bin.zip?download automake-1.9.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/bison-2.1-bin.zip?download bison-2.1 (includes m4)]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/flex-2.5.4a-1-bin.zip?download flex-2.5.4a]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/gperf-3.0.1-bin.zip?download gperf-3.0.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/diffutils-2.8.7-1-bin.zip?download diffutils-2.8.7]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/patch-2.5.9-6-bin.zip?download patch-2.5.9-6]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/grep-2.5.1a-bin.zip?download grep-2.5.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/sed-4.1.4-bin.zip?download sed-4.1.4]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/hextools-1.0-bin.zip?download hextools-1.0]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/findutils-4.2.20-2-bin.zip?download findutils-4.2.20]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/less-394-bin.zip?download less 3.94]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download wget-1.9.1]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-0.14.5.zip gettext-0.14.5]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-dev-0.14.5.zip gettext-dev-0.14.5]&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the either the 3.4.5 or 3.4.2 releases until a build from the 4.x branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with either 3.4.4 or 3.4.5.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3731</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3731"/>
		<updated>2006-08-30T12:06:12Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-4.1.1.exe MinGW 4.1.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW 5.0.2]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version. Downloading MinGW 4.1 will not provide gcc 4.1!'''&lt;br /&gt;
&lt;br /&gt;
These are merely installer applications which will upon request download and decompress the actual packages needed. At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality.&lt;br /&gt;
'''Both MinGW-4.1.1 and MinGW-5.0.2 are to be considered &amp;quot;alpha&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.5 manual install==&lt;br /&gt;
This is the &amp;quot;candidate&amp;quot; release of MinGW, so it is not considered &amp;quot;stable&amp;quot; officially.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with this release.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download http://prdownloads.sourceforge.net/mingw/w32api-3.6.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.81-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====other useful stuff====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/zip-2.31-bin.zip?download zip-2.31]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download wget-1.9.1]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-0.14.5.zip gettext-0.14.5]&lt;br /&gt;
*[http://www.gimp.org/~tml/gimp/win32/gettext-dev-0.14.5.zip gettext-dev-0.14.5]&lt;br /&gt;
&lt;br /&gt;
*[http://www.zlib.net/zlib123-dll.zip zlib-1.2.3]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libpng-1.2.8-bin.zip?download libpng-1.2.8]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/gnuwin32/libpng-1.2.8-lib.zip?download libpng-1.2.8-devel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the either the 3.4.5 or 3.4.2 releases until a build from the 4.x branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with either 3.4.4 or 3.4.5.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3730</id>
		<title>MinGW installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=MinGW_installation&amp;diff=3730"/>
		<updated>2006-08-30T11:27:31Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Base system with C++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
==Using the MinGW installer==&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-4.1.1.exe MinGW 4.1.1]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/MinGW-5.0.2.exe MinGW 5.0.2]&lt;br /&gt;
&lt;br /&gt;
'''Note that the MinGW version number is not related to the actual compiler version. Downloading MinGW 4.1 will not provide gcc 4.1!'''&lt;br /&gt;
&lt;br /&gt;
These are merely installer applications which will upon request download and decompress the actual packages needed. At the present time, it is still preferrable to download the packages by hand, as the installers are not production quality.&lt;br /&gt;
'''Both MinGW-4.1.1 and MinGW-5.0.2 are to be considered &amp;quot;alpha&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.2 manual install==&lt;br /&gt;
Installing MinGW can be quite intimidating the first time because it is not obvious what you have to do. Luckily, it is actually pretty simple.&amp;lt;br /&amp;gt;&lt;br /&gt;
To do a manual install, simply download the required files and extract them all into the same directory. For simplicity, I recommend &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt;.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.16.91-20050827-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.2-20040916-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GCC 3.4.4 manual install==&lt;br /&gt;
Some people have reported various problems with gcc version 3.4.4, so it may be worth a consideration to use the 3.4.2 version until a build from the 4.0 branch is available.&amp;lt;br /&amp;gt;Personally, I have not had any kind of problem with 3.4.4.&lt;br /&gt;
===Base system with C++===&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-core-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g++-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz?download]&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download http://prdownloads.sourceforge.net/mingw/mingw32-make-3.80.0-3.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
===Optionally:===&lt;br /&gt;
====gdb debugger====&lt;br /&gt;
*[http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download]&lt;br /&gt;
====Objective-C====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-objc-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Native Java (experimental)====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-java-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Fortran-77====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-g77-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
====Ada====&lt;br /&gt;
*[http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download http://prdownloads.sourceforge.net/mingw/gcc-ada-3.4.4-20050522-1.tar.gz?download]&lt;br /&gt;
&lt;br /&gt;
==Resulting Folder Layout==&lt;br /&gt;
[[Image:Lay.png]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Gcv&amp;diff=3686</id>
		<title>Gcv</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Gcv&amp;diff=3686"/>
		<updated>2006-08-08T16:37:00Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Global compiler variables]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=3064</id>
		<title>Global compiler variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=3064"/>
		<updated>2006-07-04T14:21:32Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Constraints */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application Development]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
Working as a developer on a project which relies on 3rd party libraries involves a lot of unnecessary repetitive tasks, such as setting up build variables according to the local filesystem layout. In the case of project files, care must be taken to not accidentially commit a locally modified copy. If one does not pay attention, this can happen easily for example after changing a build flag to make a release build.&lt;br /&gt;
&lt;br /&gt;
The concept of global compiler variables is an unique new solution for Code::Blocks which addresses this problem.&lt;br /&gt;
Global compiler variables allow you to set up a project once, and any number of developers using any number of different filesystem layouts will be able to compile and develop the project. No local layout information ever needs to be changed more than once.&lt;br /&gt;
&lt;br /&gt;
== Names and Members ==&lt;br /&gt;
Global compiler variables in Code::Blocks are discriminated from [[per-project variables]] by a leading hash sign. Global compiler variables are structured; every variable consists of a ''name'' and an optional ''member''.&lt;br /&gt;
Names are freely definable, while some of the members are built into the IDE. Although you can choose anything for a variable name in principle, it is advisable to pick a known identifier for common packages. This way, the amount of information that the user needs to provide is minimised. The Code::Blocks team provides a [[Recommended global variables|list of recommended variables]] for known packages.&lt;br /&gt;
&lt;br /&gt;
The member &amp;lt;tt&amp;gt;base&amp;lt;/tt&amp;gt; resolves to the same value as the variable name uses without a member (alias).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; are by default aliases for ''base''&amp;lt;tt&amp;gt;/include&amp;lt;/tt&amp;gt; and ''base''&amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;, respectively. However, a user can redefine them if another setup is desired.&lt;br /&gt;
&lt;br /&gt;
It is generally recommended to use the syntax &amp;lt;tt&amp;gt;$(#variable.include)&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;$(#variable)/include&amp;lt;/tt&amp;gt;, as it provides additional flexibility and is otherwise exactly identical in functionality (see [[Global_compiler_variables#Custom_Members_Mini-Tutorial|mini tutorial]]).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;cflags&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lflags&amp;lt;/tt&amp;gt; are empty by default and can be used to provide the ability to feed the same consistent set of compiler/linker flags to all builds on one machine.&lt;br /&gt;
Beginning with revision 2664 (4 July 2006), Code::Blocks allows you to define custom variable members in addition to the builtin ones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Gcv_ui.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constraints ==&lt;br /&gt;
*Both set and global compiler variable &amp;lt;i&amp;gt;names&amp;lt;/i&amp;gt; may not be empty, must not contain white space, must start with a letter and must consist of alphanumeric characters. Cyrillic or Chinese letters are &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; alphanumeric characters.&amp;lt;br /&amp;gt;If Code::Blocks is given invalid character sequences as name, it may replace them without asking.&lt;br /&gt;
*Every variable requires its base to be defined. Everything else is optional, but the base is absolutely mandatory. If you don't define a variable's base, it will not be saved (no matter what other fields you have defined).&lt;br /&gt;
*You may not define a custom member that has the same name as a builtin member. Currently, the custom member will overwrite the builtin member, but in general, the behaviour for this case is undefined.&lt;br /&gt;
*Variable and member values may contain &amp;lt;i&amp;gt;arbitrary&amp;lt;/i&amp;gt; character sequences, subject to the following three constraints:&lt;br /&gt;
**You may not define a variable by a value that references the same variable or any of its members&lt;br /&gt;
**You may not define a member by a value that references the same member&lt;br /&gt;
**You may not define a member or variable by a value that references the same variable or member through a cyclic dependency.&lt;br /&gt;
Code::Blocks will detect the most obvious cases of recursive definitions (which may happen by accident), but it will not perform an excessive depth analysis of every possible abuse. If you enter crap, then crap is what you will get, you have been warned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Examples:&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#wx)/include&amp;lt;/tt&amp;gt; is redundant, but perfectly legal&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#wx.include)&amp;lt;/tt&amp;gt; is illegal and will be detected by Code::Blocks&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#cb.lib)&amp;lt;/tt&amp;gt; which again is defined as &amp;lt;tt&amp;gt;$(#wx.include)&amp;lt;/tt&amp;gt; will create an infinite loop&lt;br /&gt;
&lt;br /&gt;
== Using Global Compiler Variables ==&lt;br /&gt;
All you need to do to start using global compiler variables is to put them in your project! Yes, it is really that easy.&lt;br /&gt;
&lt;br /&gt;
When the IDE detects the presence of an unknown global variable, it will prompt you to enter its value. The value will be saved in your settings, so you never need to enter the information twice.&lt;br /&gt;
&lt;br /&gt;
If you need to modify or delete a variable at a later time, you can do so from the settings menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Globvarsdir.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows both per-procect and global variables. &amp;lt;tt&amp;gt;WX_CFG&amp;lt;/tt&amp;gt; is defined in the project, but &amp;lt;tt&amp;gt;WX&amp;lt;/tt&amp;gt; is a global user variable.&lt;br /&gt;
&lt;br /&gt;
== Variable Sets ==&lt;br /&gt;
Sometimes, you want to use different versions of the same library, or you develop two branches of the same program. Although it is still possible to get around with a global compiler variable, it can become tedious. For this purpose, Code::Blocks supports variable &amp;lt;i&amp;gt;sets&amp;lt;/i&amp;gt;. A variable set is an independent collection of variables identified by a name (set names have the same constraints as variable names).&lt;br /&gt;
&lt;br /&gt;
If you wish to switch to a different set of variables, you simply select a different set from the menu. Different sets are not required to have the same variables, and identical variables in different sets are not required to have the same values, or even the same custom members.&lt;br /&gt;
&lt;br /&gt;
Another positive thing about sets is that if you have a dozen variables and you want to have a new set with one of these variables pointing to a different location, you are not required to re-enter all this redundant data again. You can simply create a clone of your current set, this will duplicate all of your variables.&lt;br /&gt;
&lt;br /&gt;
Deleting a set also deletes all variables in that set (but not in another set). The &amp;quot;default&amp;quot; set is always present and cannot be deleted.&lt;br /&gt;
&lt;br /&gt;
== Custom Members Mini-Tutorial ==&lt;br /&gt;
As stated above, writing &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#var)/include&amp;lt;/tt&amp;gt; is exactly the same thing by default.&lt;br /&gt;
So why would you want to write something as unintuitive as &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
Let's take a standard Boost installation under Windows as an example. Generally, you would expect a fictional package &amp;lt;tt&amp;gt;ACME&amp;lt;/tt&amp;gt; to have its include files under &amp;lt;tt&amp;gt;ACME/include&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;ACME/lib&amp;lt;/tt&amp;gt;. Optionally, it might place its headers into yet another subfolder called &amp;lt;tt&amp;gt;acme&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Thus, after adding the correct paths to the compiler and linker options, you would expect to &amp;lt;tt&amp;gt;#include &amp;lt;acme/acme.h&amp;gt;&amp;lt;/tt&amp;gt; and link to &amp;lt;tt&amp;gt;libacme.a&amp;lt;/tt&amp;gt; (or whatever it happens to be).&lt;br /&gt;
&lt;br /&gt;
Boost, however, installs headers into &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt; by default. It seems impossible to get this under one hood without having to adjust everything on every new PC, especially if you have to work under Linux or some other OS, too.&lt;br /&gt;
&lt;br /&gt;
This is where the true power of global user variables is unveiled. When defining the value of the &amp;lt;tt&amp;gt;#boost&amp;lt;/tt&amp;gt; variable, you go one step further than usual. You define the member &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and the member &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt;, respectively.&lt;br /&gt;
Your projects using &amp;lt;tt&amp;gt;$(#boost.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#boost.lib)&amp;lt;/tt&amp;gt; will magically work on every PC without any modifications. You don't need to know why, you don't want to know why.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=3063</id>
		<title>Global compiler variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=3063"/>
		<updated>2006-07-04T14:20:24Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Constraints */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application Development]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
Working as a developer on a project which relies on 3rd party libraries involves a lot of unnecessary repetitive tasks, such as setting up build variables according to the local filesystem layout. In the case of project files, care must be taken to not accidentially commit a locally modified copy. If one does not pay attention, this can happen easily for example after changing a build flag to make a release build.&lt;br /&gt;
&lt;br /&gt;
The concept of global compiler variables is an unique new solution for Code::Blocks which addresses this problem.&lt;br /&gt;
Global compiler variables allow you to set up a project once, and any number of developers using any number of different filesystem layouts will be able to compile and develop the project. No local layout information ever needs to be changed more than once.&lt;br /&gt;
&lt;br /&gt;
== Names and Members ==&lt;br /&gt;
Global compiler variables in Code::Blocks are discriminated from [[per-project variables]] by a leading hash sign. Global compiler variables are structured; every variable consists of a ''name'' and an optional ''member''.&lt;br /&gt;
Names are freely definable, while some of the members are built into the IDE. Although you can choose anything for a variable name in principle, it is advisable to pick a known identifier for common packages. This way, the amount of information that the user needs to provide is minimised. The Code::Blocks team provides a [[Recommended global variables|list of recommended variables]] for known packages.&lt;br /&gt;
&lt;br /&gt;
The member &amp;lt;tt&amp;gt;base&amp;lt;/tt&amp;gt; resolves to the same value as the variable name uses without a member (alias).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; are by default aliases for ''base''&amp;lt;tt&amp;gt;/include&amp;lt;/tt&amp;gt; and ''base''&amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;, respectively. However, a user can redefine them if another setup is desired.&lt;br /&gt;
&lt;br /&gt;
It is generally recommended to use the syntax &amp;lt;tt&amp;gt;$(#variable.include)&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;$(#variable)/include&amp;lt;/tt&amp;gt;, as it provides additional flexibility and is otherwise exactly identical in functionality (see [[Global_compiler_variables#Custom_Members_Mini-Tutorial|mini tutorial]]).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;cflags&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lflags&amp;lt;/tt&amp;gt; are empty by default and can be used to provide the ability to feed the same consistent set of compiler/linker flags to all builds on one machine.&lt;br /&gt;
Beginning with revision 2664 (4 July 2006), Code::Blocks allows you to define custom variable members in addition to the builtin ones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Gcv_ui.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constraints ==&lt;br /&gt;
*Both set and global compiler variable &amp;lt;i&amp;gt;names&amp;lt;/i&amp;gt; may not be empty, must not contain white space, must start with a letter and must consist of alphanumeric characters. Cyrillic or Chinese letters are &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; alphanumeric characters.&amp;lt;br /&amp;gt;If Code::Blocks is given invalid character sequences as name, it may replace them without asking.&lt;br /&gt;
*Every variable requires its base to be defined. Everything else is optional, but the base is absolutely mandatory. If you don't define a variable's base, it will not be saved (no matter what other fields you have defined).&lt;br /&gt;
*You may not define a custom member that has the same name as a builtin member. Currently, the custom member will overwrite the builtin member, but in general, the behaviour for this case is undefined.&lt;br /&gt;
*Variable and member values may contain &amp;lt;i&amp;gt;arbitrary&amp;lt;/i&amp;gt; character sequences, subject to the following two constraints:&lt;br /&gt;
**You may not define a variable by a value that references the same variable or any of its members&lt;br /&gt;
**You may not define a member by a value that references the same member&lt;br /&gt;
**You may not define a member or variable by a value that references the same variable or member through a cyclic dependency.&lt;br /&gt;
Code::Blocks will detect the most obvious cases of recursive definitions (which may happen by accident), but it will not perform an excessive depth analysis of every possible abuse. If you enter crap, then crap is what you will get, you have been warned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Examples:&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#wx)/include&amp;lt;/tt&amp;gt; is redundant, but perfectly legal&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#wx.include)&amp;lt;/tt&amp;gt; is illegal and will be detected by Code::Blocks&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#cb.lib)&amp;lt;/tt&amp;gt; which again is defined as &amp;lt;tt&amp;gt;$(#wx.include)&amp;lt;/tt&amp;gt; will create an infinite loop&lt;br /&gt;
&lt;br /&gt;
== Using Global Compiler Variables ==&lt;br /&gt;
All you need to do to start using global compiler variables is to put them in your project! Yes, it is really that easy.&lt;br /&gt;
&lt;br /&gt;
When the IDE detects the presence of an unknown global variable, it will prompt you to enter its value. The value will be saved in your settings, so you never need to enter the information twice.&lt;br /&gt;
&lt;br /&gt;
If you need to modify or delete a variable at a later time, you can do so from the settings menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Globvarsdir.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows both per-procect and global variables. &amp;lt;tt&amp;gt;WX_CFG&amp;lt;/tt&amp;gt; is defined in the project, but &amp;lt;tt&amp;gt;WX&amp;lt;/tt&amp;gt; is a global user variable.&lt;br /&gt;
&lt;br /&gt;
== Variable Sets ==&lt;br /&gt;
Sometimes, you want to use different versions of the same library, or you develop two branches of the same program. Although it is still possible to get around with a global compiler variable, it can become tedious. For this purpose, Code::Blocks supports variable &amp;lt;i&amp;gt;sets&amp;lt;/i&amp;gt;. A variable set is an independent collection of variables identified by a name (set names have the same constraints as variable names).&lt;br /&gt;
&lt;br /&gt;
If you wish to switch to a different set of variables, you simply select a different set from the menu. Different sets are not required to have the same variables, and identical variables in different sets are not required to have the same values, or even the same custom members.&lt;br /&gt;
&lt;br /&gt;
Another positive thing about sets is that if you have a dozen variables and you want to have a new set with one of these variables pointing to a different location, you are not required to re-enter all this redundant data again. You can simply create a clone of your current set, this will duplicate all of your variables.&lt;br /&gt;
&lt;br /&gt;
Deleting a set also deletes all variables in that set (but not in another set). The &amp;quot;default&amp;quot; set is always present and cannot be deleted.&lt;br /&gt;
&lt;br /&gt;
== Custom Members Mini-Tutorial ==&lt;br /&gt;
As stated above, writing &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#var)/include&amp;lt;/tt&amp;gt; is exactly the same thing by default.&lt;br /&gt;
So why would you want to write something as unintuitive as &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
Let's take a standard Boost installation under Windows as an example. Generally, you would expect a fictional package &amp;lt;tt&amp;gt;ACME&amp;lt;/tt&amp;gt; to have its include files under &amp;lt;tt&amp;gt;ACME/include&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;ACME/lib&amp;lt;/tt&amp;gt;. Optionally, it might place its headers into yet another subfolder called &amp;lt;tt&amp;gt;acme&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Thus, after adding the correct paths to the compiler and linker options, you would expect to &amp;lt;tt&amp;gt;#include &amp;lt;acme/acme.h&amp;gt;&amp;lt;/tt&amp;gt; and link to &amp;lt;tt&amp;gt;libacme.a&amp;lt;/tt&amp;gt; (or whatever it happens to be).&lt;br /&gt;
&lt;br /&gt;
Boost, however, installs headers into &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt; by default. It seems impossible to get this under one hood without having to adjust everything on every new PC, especially if you have to work under Linux or some other OS, too.&lt;br /&gt;
&lt;br /&gt;
This is where the true power of global user variables is unveiled. When defining the value of the &amp;lt;tt&amp;gt;#boost&amp;lt;/tt&amp;gt; variable, you go one step further than usual. You define the member &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and the member &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt;, respectively.&lt;br /&gt;
Your projects using &amp;lt;tt&amp;gt;$(#boost.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#boost.lib)&amp;lt;/tt&amp;gt; will magically work on every PC without any modifications. You don't need to know why, you don't want to know why.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=3061</id>
		<title>Global compiler variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=3061"/>
		<updated>2006-07-04T12:29:35Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application Development]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
Working as a developer on a project which relies on 3rd party libraries involves a lot of unnecessary repetitive tasks, such as setting up build variables according to the local filesystem layout. In the case of project files, care must be taken to not accidentially commit a locally modified copy. If one does not pay attention, this can happen easily for example after changing a build flag to make a release build.&lt;br /&gt;
&lt;br /&gt;
The concept of global compiler variables is an unique new solution for Code::Blocks which addresses this problem.&lt;br /&gt;
Global compiler variables allow you to set up a project once, and any number of developers using any number of different filesystem layouts will be able to compile and develop the project. No local layout information ever needs to be changed more than once.&lt;br /&gt;
&lt;br /&gt;
== Names and Members ==&lt;br /&gt;
Global compiler variables in Code::Blocks are discriminated from [[per-project variables]] by a leading hash sign. Global compiler variables are structured; every variable consists of a ''name'' and an optional ''member''.&lt;br /&gt;
Names are freely definable, while some of the members are built into the IDE. Although you can choose anything for a variable name in principle, it is advisable to pick a known identifier for common packages. This way, the amount of information that the user needs to provide is minimised. The Code::Blocks team provides a [[Recommended global variables|list of recommended variables]] for known packages.&lt;br /&gt;
&lt;br /&gt;
The member &amp;lt;tt&amp;gt;base&amp;lt;/tt&amp;gt; resolves to the same value as the variable name uses without a member (alias).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; are by default aliases for ''base''&amp;lt;tt&amp;gt;/include&amp;lt;/tt&amp;gt; and ''base''&amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;, respectively. However, a user can redefine them if another setup is desired.&lt;br /&gt;
&lt;br /&gt;
It is generally recommended to use the syntax &amp;lt;tt&amp;gt;$(#variable.include)&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;$(#variable)/include&amp;lt;/tt&amp;gt;, as it provides additional flexibility and is otherwise exactly identical in functionality (see [[Global_compiler_variables#Custom_Members_Mini-Tutorial|mini tutorial]]).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;cflags&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lflags&amp;lt;/tt&amp;gt; are empty by default and can be used to provide the ability to feed the same consistent set of compiler/linker flags to all builds on one machine.&lt;br /&gt;
Beginning with revision 2664 (4 July 2006), Code::Blocks allows you to define custom variable members in addition to the builtin ones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Gcv_ui.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constraints ==&lt;br /&gt;
*Both set and global compiler variable &amp;lt;i&amp;gt;names&amp;lt;/i&amp;gt; may not be empty, must not contain white space, must start with a letter and must consist of alphanumeric characters. Cyrillic or Chinese letters are &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; alphanumeric characters.&amp;lt;br /&amp;gt;If Code::Blocks is given invalid character sequences as name, it may replace them without asking.&lt;br /&gt;
*Every variable requires its base to be defined. Everything else is optional, but the base is absolutely mandatory. If you don't define a variable's base, it will not be saved (no matter what other fields you have defined).&lt;br /&gt;
*You may not define a custom member that has the same name as a builtin member. Currently, the custom member will overwrite the builtin member, but in generally, the behaviour for this case is undefined.&lt;br /&gt;
*Variable and member values may contain &amp;lt;i&amp;gt;arbitrary&amp;lt;/i&amp;gt; character sequences, subject to the following two constraints:&lt;br /&gt;
**You may not define a variable by a value that references the same variable or any of its members&lt;br /&gt;
**You may not define a member by a value that references the same member&lt;br /&gt;
**You may not define a member or variable by a value that references the same variable or member through a cyclic dependency.&lt;br /&gt;
Code::Blocks will detect the most obvious cases of recursive definitions (which may happen by accident), but it will not perform an excessive depth analysis of every possible abuse. If you enter crap, then crap is what you will get, you have been warned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Examples:&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#wx)/include&amp;lt;/tt&amp;gt; is redundant, but perfectly legal&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#wx.include)&amp;lt;/tt&amp;gt; is illegal and will be detected by Code::Blocks&amp;lt;br /&amp;gt;&lt;br /&gt;
defining &amp;lt;tt&amp;gt;wx.include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;$(#cb.lib)&amp;lt;/tt&amp;gt; which again is defined as &amp;lt;tt&amp;gt;$(#wx.include)&amp;lt;/tt&amp;gt; will create an infinite loop&lt;br /&gt;
&lt;br /&gt;
== Using Global Compiler Variables ==&lt;br /&gt;
All you need to do to start using global compiler variables is to put them in your project! Yes, it is really that easy.&lt;br /&gt;
&lt;br /&gt;
When the IDE detects the presence of an unknown global variable, it will prompt you to enter its value. The value will be saved in your settings, so you never need to enter the information twice.&lt;br /&gt;
&lt;br /&gt;
If you need to modify or delete a variable at a later time, you can do so from the settings menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Globvarsdir.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows both per-procect and global variables. &amp;lt;tt&amp;gt;WX_CFG&amp;lt;/tt&amp;gt; is defined in the project, but &amp;lt;tt&amp;gt;WX&amp;lt;/tt&amp;gt; is a global user variable.&lt;br /&gt;
&lt;br /&gt;
== Variable Sets ==&lt;br /&gt;
Sometimes, you want to use different versions of the same library, or you develop two branches of the same program. Although it is still possible to get around with a global compiler variable, it can become tedious. For this purpose, Code::Blocks supports variable &amp;lt;i&amp;gt;sets&amp;lt;/i&amp;gt;. A variable set is an independent collection of variables identified by a name (set names have the same constraints as variable names).&lt;br /&gt;
&lt;br /&gt;
If you wish to switch to a different set of variables, you simply select a different set from the menu. Different sets are not required to have the same variables, and identical variables in different sets are not required to have the same values, or even the same custom members.&lt;br /&gt;
&lt;br /&gt;
Another positive thing about sets is that if you have a dozen variables and you want to have a new set with one of these variables pointing to a different location, you are not required to re-enter all this redundant data again. You can simply create a clone of your current set, this will duplicate all of your variables.&lt;br /&gt;
&lt;br /&gt;
Deleting a set also deletes all variables in that set (but not in another set). The &amp;quot;default&amp;quot; set is always present and cannot be deleted.&lt;br /&gt;
&lt;br /&gt;
== Custom Members Mini-Tutorial ==&lt;br /&gt;
As stated above, writing &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#var)/include&amp;lt;/tt&amp;gt; is exactly the same thing by default.&lt;br /&gt;
So why would you want to write something as unintuitive as &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
Let's take a standard Boost installation under Windows as an example. Generally, you would expect a fictional package &amp;lt;tt&amp;gt;ACME&amp;lt;/tt&amp;gt; to have its include files under &amp;lt;tt&amp;gt;ACME/include&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;ACME/lib&amp;lt;/tt&amp;gt;. Optionally, it might place its headers into yet another subfolder called &amp;lt;tt&amp;gt;acme&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Thus, after adding the correct paths to the compiler and linker options, you would expect to &amp;lt;tt&amp;gt;#include &amp;lt;acme/acme.h&amp;gt;&amp;lt;/tt&amp;gt; and link to &amp;lt;tt&amp;gt;libacme.a&amp;lt;/tt&amp;gt; (or whatever it happens to be).&lt;br /&gt;
&lt;br /&gt;
Boost, however, installs headers into &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt; by default. It seems impossible to get this under one hood without having to adjust everything on every new PC, especially if you have to work under Linux or some other OS, too.&lt;br /&gt;
&lt;br /&gt;
This is where the true power of global user variables is unveiled. When defining the value of the &amp;lt;tt&amp;gt;#boost&amp;lt;/tt&amp;gt; variable, you go one step further than usual. You define the member &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and the member &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt;, respectively.&lt;br /&gt;
Your projects using &amp;lt;tt&amp;gt;$(#boost.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#boost.lib)&amp;lt;/tt&amp;gt; will magically work on every PC without any modifications. You don't need to know why, you don't want to know why.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:Gcv_ui.png&amp;diff=3060</id>
		<title>File:Gcv ui.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:Gcv_ui.png&amp;diff=3060"/>
		<updated>2006-07-04T12:13:48Z</updated>

		<summary type="html">&lt;p&gt;Thomas: Global compiler variables UI&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Global compiler variables UI&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features&amp;diff=3043</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=3043"/>
		<updated>2006-07-02T12:16:15Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Features supported */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
Here is a list of [[wxSmith]] features when compared to other [[wikipedia:WxWidgets|wxWidgets]] [[wikipedia:Rapid application development|RAD]] solutions. &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;
&amp;lt;br&amp;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]]&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; | [[DialogBlocks]]&lt;br /&gt;
| Julian Smart&lt;br /&gt;
| Free (trial), $65 (normal), $30 (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; | [[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; | [[wxFormBuilder]]&lt;br /&gt;
| José Antonio Hurtado, Juan Antonio Ortega&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; | [[VisualWx]]&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| Free&lt;br /&gt;
| No&lt;br /&gt;
| {{dunno}}&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: 12em&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;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxBitmapButton&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; | wxBoxSizer&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;
|-&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;
|- &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;
|- &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;
| {{no}}&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;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxChoicebook&lt;br /&gt;
| {{yes}}&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; | wxComboBox&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;
| {{no}}&lt;br /&gt;
| {{yes}}&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; | wxDatePickerCtrl&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&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; | wxDynamicSashWindow&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; | wxFlexGridSizer&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; | wxGauge&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;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxGrid&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; | wxGridBagSizer &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; | wxGridSizer&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; | wxHtmlListBox&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; | wxHtmlWindow&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; | wxListbook&lt;br /&gt;
| {{yes}}&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; | wxListBox&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;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxListView&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; | wxMenu&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; | wxNotebook&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; | wxPanel&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; | wxRadioBox&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; | wxRadioButton&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; | wxSashLayoutWindow&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&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; | wxSashWindow&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&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; | wxScrollBar&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; | wxScrolledWindow&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&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; | wxSlider&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;
|- &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;
|- &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;
|- &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;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStaticBitmap&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; | wxStaticBox&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&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; | wxStaticBoxSizer&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;
|- &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;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStatusBar&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; | wxStdDialogButtonSizer&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; | wxTextCtrl&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; | wxToggleButton&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; | wxToolbar&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; | wxTreebook&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; | wxTreeCtrl&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;
|- &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;
|- &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;
|- &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;
|- 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;
|-&lt;br /&gt;
|}&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: 12em&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;
|-&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;
|-&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;
|-&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;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | wxStyledTextCtrl&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&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;
|-&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: 12em&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;
|-&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;
|- &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;
| {{no}}&lt;br /&gt;
| {{yes}}&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;
|- &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;
|- &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;
|- &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;
|- &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;
|- 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;
|-&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: 12em&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;
|- &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;
|- &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;
|- &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;
| {{no}}&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [[Validators]]&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; | [[Conditional UI]]&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; | [[Event table and handler generation]]&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [[Bitmaps support]]&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&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; | [[English descriptions]]&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&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; | [[Easy access to window pointers]]&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{dunno}}&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;
| {{no}}&lt;br /&gt;
| {{partial}}&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | [[Template controls]]&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; | 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;
|- &lt;br /&gt;
! style=&amp;quot;text-align: left; background: #ececec;&amp;quot; | Non-sizer design&lt;br /&gt;
| {{partial}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&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;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*{{note|XRCnotworks}} Currently, only one dialog resource per XRC file is imported.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Roadmap_for_version_1.0&amp;diff=3022</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=3022"/>
		<updated>2006-06-23T17:59:41Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Version 1.0 RC 3 (Ephialtes) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
==Version 1.0 (Pheidippides)==&lt;br /&gt;
''August 2006''&lt;br /&gt;
&lt;br /&gt;
==Version 1.0 RC final (Athenades)==&lt;br /&gt;
''Mid-July 2006''&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;
''Around end of June 2006''&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]]No 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:Blk.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]]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:Blk.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>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=2941</id>
		<title>Using STLFilt with MinGW</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=2941"/>
		<updated>2006-05-23T07:00:00Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the '''Sandbox''' where you can edit until your heart's content. Check out the 'edit' link at the top of this page to play around in here.&lt;br /&gt;
&lt;br /&gt;
== Italic Text ==&lt;br /&gt;
&lt;br /&gt;
Look at the ''italic text''.&lt;br /&gt;
&lt;br /&gt;
== Bold Text ==&lt;br /&gt;
&lt;br /&gt;
Look at the '''bold text'''.&lt;br /&gt;
&lt;br /&gt;
== Lists ==&lt;br /&gt;
&lt;br /&gt;
*Lists are easy.&lt;br /&gt;
**Really easy.&lt;br /&gt;
&lt;br /&gt;
== Images ==&lt;br /&gt;
&lt;br /&gt;
Some images....&lt;br /&gt;
&lt;br /&gt;
[[Image:Chk.png]]&lt;br /&gt;
[[Image:Nop.png]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
Links to other pages, external sites. etc&lt;br /&gt;
&lt;br /&gt;
Link to page in this wiki&lt;br /&gt;
[[Sandbox]]&lt;br /&gt;
&lt;br /&gt;
Link with no title&lt;br /&gt;
[http://www.google.com]&lt;br /&gt;
&lt;br /&gt;
Link with title&lt;br /&gt;
[http://www.google.com The Google Search engine]&lt;br /&gt;
&lt;br /&gt;
Link to category&lt;br /&gt;
[[Category:Installation/Build_Instructions]] -- this doesn't work. How do you do this properly??&lt;br /&gt;
Like this: [[:Category:Installation/Build Instructions]]&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=2917</id>
		<title>Variable expansion</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Variable_expansion&amp;diff=2917"/>
		<updated>2006-05-12T12:37:32Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* List of available builtins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application Development]]&lt;br /&gt;
== Scope ==&lt;br /&gt;
This article refers to builtin variables to be used in during the build process,&lt;br /&gt;
using '''Code::Blocks revision 1996 and newer'''.&amp;lt;br/&amp;gt;&lt;br /&gt;
Older versions may not support all of the listed types.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Code::Blocks treats the following functionally identical character sequences inside pre-build, post-build, or build steps  as variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$VARIABLE&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;$(VARIABLE)&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;${VARIABLE}&amp;lt;/tt&amp;gt;,  and &amp;lt;tt&amp;gt;%VARIABLE%&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Variable names must consist of alphanumeric characters and are not case-sensitive. Variables starting with a single hash sign (&amp;lt;tt&amp;gt;#&amp;lt;/tt&amp;gt;) are interpreted as [[global user variables]].&lt;br /&gt;
The names listed below are interpreted as builtin types.&lt;br /&gt;
&lt;br /&gt;
Variables which are neither global user variables nor builtin types are replaced with a value provided in the project file, or with an environment variable if the latter should fail.&lt;br /&gt;
Per-target definitions have precedence over per-project definitions.&lt;br /&gt;
&lt;br /&gt;
== List of available builtins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(PROJECT_FILENAME) $(PROJECT_FILE) $(PROJECTFILE)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The filename of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(PROJECT_NAME)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The name of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(PROJECT_DIR) $(PROJECTDIR) $(PROJECT_DIRECTORY)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The common top-level directory of the currently compiling project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(CODEBLOCKS) $(APP_PATH)  $(APPPATH) $(APP-PATH)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The path to the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(DATAPATH) $(DATA_PATH) $(DATA-PATH)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The 'shared' folder of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(PLUGINS)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The plugins folder of the currently running instance of Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The filename of the file opened in the currently active editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(ALL_PROJECT_FILES)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A string containing the names of all files in the current project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(MAKEFILE)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The filename of the makefile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(FOOBAR_OUTPUT_FILE)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A ''specific'' target's output file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(FOOBAR_OUTPUT_DIR)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A ''specific'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(TARGET_OUTPUT_DIR)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The ''current'' target's output directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(TARGET_NAME)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The ''current'' target's name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(LANGUAGE)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The system language in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(ENCODING)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The character encoding in human readable form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(ACTIVE_EDITOR_FILENAME)&amp;lt;br /&amp;gt;$(ACTIVE_EDITOR_DIRNAME) $(ACTIVE_EDITOR_STEM) $(ACTIVE_EDITOR_EXT)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The filename of the file being open in the active editor, its containing directory (relative to the common toplevel path), its base name (without extension), and its extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(TDAY)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Current date in the form 20051228&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(TODAY)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Current date in the form 2005-12-28&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(NOW)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Timestamp in the form 2005-12-28-07.15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(NOW_L)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Timestamp in the form 2005-12-28-07.15.45&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(WEEKDAY)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Human-readable day of the week (&amp;quot;Wednesday&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(TDAY_UTC) $(TODAY_UTC) $(NOW_UTC)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;$(NOW_L_UTC) $(WEEKDAY_UTC)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
These are identical to the preceding types, but are expressed relative to UTC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(COIN)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
This variable tosses a virtual coin (once per invokation) and returns 0 or 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$(RANDOM)&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A 16bit positive random number (0-65535)&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Announcement_for_plugins/patches&amp;diff=2837</id>
		<title>Announcement for plugins/patches</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Announcement_for_plugins/patches&amp;diff=2837"/>
		<updated>2006-04-18T09:32:07Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Lexer/Templates announcements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== HowTo announce a new plugin/patch or similar ===&lt;br /&gt;
&lt;br /&gt;
''Please read carefully:''&lt;br /&gt;
&lt;br /&gt;
This WiKi section is to announce:&lt;br /&gt;
* a new plugin that is '''not''' within the contrib folder of the SVN repository&lt;br /&gt;
* a patch that is '''not''' a bugfix or similar and/or will '''not''' be applied to the SVN repository (e.g. because it's very specific)&lt;br /&gt;
* a new lexer/template that is '''not''' completed or approved and/or will '''not''' be added to the SVN&lt;br /&gt;
&lt;br /&gt;
If a plugin/patch/lexer/template is moved to the repository don't forget to remove it from here! This section is intended to '''collect''' the information about available plugins/patches/lexerers/templates in one place. So the announcement should be short and clear. It should (however) include at least the following content:&lt;br /&gt;
* Name of the plugin/patch/lexer/template and purpose&amp;lt;BR&amp;gt;&lt;br /&gt;
* Version (state) and date of last update (or release in the first place)&amp;lt;BR&amp;gt;&lt;br /&gt;
* Link to a thread (to be created) in the developers (plugin) forum for discussion of features, bugs, wishlist etc.&amp;lt;BR&amp;gt;&lt;br /&gt;
* A link where the '''most up-to-date''' version can be downloaded (e.g. in the forum).&amp;lt;BR&amp;gt;&lt;br /&gt;
The best way may be to copy the section from the '''template''' plugin/patch/lexer/template and update it with your information. This will ensure consistency in the best way! Read the article [[How to add another announcement]] to read how to change the WiKi accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Patch announcements ===&lt;br /&gt;
&lt;br /&gt;
So far there are no new patches.&lt;br /&gt;
&lt;br /&gt;
* [[Template for patch announcement]] (Read this before posting a new patch!)&lt;br /&gt;
&lt;br /&gt;
=== Plugin announcements ===&lt;br /&gt;
&lt;br /&gt;
These are the user-contributed plugins:&lt;br /&gt;
&lt;br /&gt;
* [[Replace in Files]] (MortenMacFly)&lt;br /&gt;
* [[Tab versus Space]] (MortenMacFly)&lt;br /&gt;
* [[Edit Project]] (Killerbot)&lt;br /&gt;
* [[Matching Brace]] (Killerbot)&lt;br /&gt;
* [[Mouse Drag Scrolling]] (Pecan)&lt;br /&gt;
* [[Library Finder]] (byo)&lt;br /&gt;
* [[Template for plugin announcement]] (Read this before posting a new plugin!)&lt;br /&gt;
&lt;br /&gt;
=== Lexer/Templates announcements ===&lt;br /&gt;
&lt;br /&gt;
* [[Template for lexer/template announcement]] (Read this before posting a new lexer/template!)&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=CodeBlocks:Article_Writing_Guidelines&amp;diff=2702</id>
		<title>CodeBlocks:Article Writing Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=CodeBlocks:Article_Writing_Guidelines&amp;diff=2702"/>
		<updated>2006-04-10T17:28:39Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Conventions&lt;br /&gt;
&lt;br /&gt;
* Avoid large paragraphs. Break them up a bit.&lt;br /&gt;
* Use a professional writing style. Don't get too silly in your writing. If you start warning your audience about anything or using a lot of cliches like 'just my $.02' you're bordering on silly.&lt;br /&gt;
* Name sections according to content. The table of contents should show a map of where the discussion is going to go. &lt;br /&gt;
&lt;br /&gt;
''This is not a useful TOC:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 The Obligitory Warning&lt;br /&gt;
2 Get your boilerplate ready&lt;br /&gt;
3 The Meaty Part&lt;br /&gt;
4 From Bad to Worse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Accuracy&lt;br /&gt;
&lt;br /&gt;
* Use proper English, spelling, and grammar. Copy your text into Word to do a spelling &amp;amp; grammar check if need be.&lt;br /&gt;
* Link your article with the articles or tutorials page only after it has been proof read.&lt;br /&gt;
* Don't post code that you haven't actually compiled and run, nor code that you didn't write. Publishing someone else's original work usually constitutes infringment (unless explicitely permitted) and is actionable in most countries.&lt;br /&gt;
* Post all code necessary. Provide both the inline code that you are commenting on, and also post the full code base for easy copying and pasting. &lt;br /&gt;
&lt;br /&gt;
; Guidelines&lt;br /&gt;
&lt;br /&gt;
* Write for multiple platforms. Code::Blocks has a wide audience. If you don't use another platform ask someone in the forums to cross check your work before posting. &lt;br /&gt;
* Stay on topic. Pick one or a few related topics and write exclusively to that subject. If you have many ideas, make separate tutorials.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=CodeBlocks:Article_Writing_Guidelines&amp;diff=2701</id>
		<title>CodeBlocks:Article Writing Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=CodeBlocks:Article_Writing_Guidelines&amp;diff=2701"/>
		<updated>2006-04-10T17:28:10Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Conventions&lt;br /&gt;
&lt;br /&gt;
* Avoid large paragraphs. Break them up a bit.&lt;br /&gt;
* Use a professional writing style. Don't get too silly in your writing. If you start warning your audience about anything or using a lot of cliches like 'just my $.02' you're bordering on silly.&lt;br /&gt;
* Name sections according to content. The table of contents should show a map of where the discussion is going to go. &lt;br /&gt;
&lt;br /&gt;
''This is not a useful TOC:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 The Obligitory Warning&lt;br /&gt;
2 Get your boilerplate ready&lt;br /&gt;
3 The Meaty Part&lt;br /&gt;
4 From Bad to Worse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Accuracy&lt;br /&gt;
&lt;br /&gt;
* Use proper English, spelling, and grammar. Copy your text into Word to do a spelling &amp;amp; grammar check if need be.&lt;br /&gt;
* Link your article with the articles or tutorials page only after it has been proof read.&lt;br /&gt;
* Don't post code that you haven't actually compiled and ran, nor code that you didn't write. Publishing someone else's original work usually constitutes infringment (unless explicitely permitted) and is actionable in most countries.&lt;br /&gt;
* Post all code necessary. Provide both the inline code that you are commenting on, and also post the full code base for easy copying and pasting. &lt;br /&gt;
&lt;br /&gt;
; Guidelines&lt;br /&gt;
&lt;br /&gt;
* Write for multiple platforms. Code::Blocks has a wide audience. If you don't use another platform ask someone in the forums to cross check your work before posting. &lt;br /&gt;
* Stay on topic. Pick one or a few related topics and write exclusively to that subject. If you have many ideas, make separate tutorials.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Building_From_Source&amp;diff=2700</id>
		<title>Building From Source</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Building_From_Source&amp;diff=2700"/>
		<updated>2006-04-10T17:22:54Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note:''' The official supported compiler to build Code::Blocks with is GCC (or MinGW). At the present time, GCC is also the only compiler known to successfully build Code::Blocks without modifications.&lt;br /&gt;
&lt;br /&gt;
''The build instructions on this page therefore relate exclusively to GCC.''&lt;br /&gt;
&lt;br /&gt;
For the latest stable code (all platforms), you can check out the source from BerliOS anonymous SVN.&lt;br /&gt;
&lt;br /&gt;
Example checkout:&lt;br /&gt;
&lt;br /&gt;
 svn checkout svn://svn.berlios.de/codeblocks/trunk &lt;br /&gt;
&lt;br /&gt;
More detailed instrcutions [https://www.codeblocks.org/source_code.shtml here].&lt;br /&gt;
&lt;br /&gt;
== MS Windows ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=2532</id>
		<title>Global compiler variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=2532"/>
		<updated>2006-03-27T19:30:23Z</updated>

		<summary type="html">&lt;p&gt;Thomas: /* Names and Members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks features]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
Working as a developer on a project which relies on 3rd party libraries involves a lot of unnecessary repetitive tasks, such as setting up build variables according to the local filesystem layout. In the case of project files, care must be taken to not accidentially commit a locally modified copy.&lt;br /&gt;
&lt;br /&gt;
The concept of global compiler variables is an unique new solution for Code::Blocks which addresses this problem.&lt;br /&gt;
Global compiler variables allow you to set up a project once, and any number of developers using any number of different filesystem layouts will be able to compile and develop the project. No local layout information needs to be changed more than once.&lt;br /&gt;
&lt;br /&gt;
== Names and Members ==&lt;br /&gt;
Global compiler variables in Code::Blocks are discriminated from [[per-project variables]] by a leading hash sign. Global compiler variables are structured; every variable consists of a ''name'' and an optional ''member''.&lt;br /&gt;
Names are freely definable, while the member structure is built into the IDE. Although you can choose anything for a variable name in principle, it is advisable to pick a known identifier for common packages. This way, the amount of information that the user needs to provide is minimised. The Code::Blocks team provides a [[Recommended global variables|list of recommended variables]] for known packages.&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;dir&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;base&amp;lt;/tt&amp;gt; resolve to the same value as the variable name uses without a member (alias).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; are by default aliases for ''base''&amp;lt;tt&amp;gt;/include&amp;lt;/tt&amp;gt; and ''base''&amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;, respectively. However, a user can redefine them if another setup is desired. It is recommended to ''always'' use the syntax &amp;lt;tt&amp;gt;$(#variable.include)&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;$(#variable)/include&amp;lt;/tt&amp;gt;, as it provides additional flexibility and is otherwise exactly identical in functionality (see [[Global_compiler_variables#Custom_Members_Mini-Tutorial|mini tutorial]]).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;cflags&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lflags&amp;lt;/tt&amp;gt; are empty by default and can be used to provide the ability to feed the same consistent set of compiler/linker flags to all builds on one machine.&lt;br /&gt;
&lt;br /&gt;
== Using Global Compiler Variables ==&lt;br /&gt;
All you need to do to start using global compiler variables is to put them in your project!&lt;br /&gt;
&lt;br /&gt;
When the IDE detects the presence of an unknown global variable, it will prompt you to enter its value. The value will be saved in your settings, so you never need to enter the information twice.&lt;br /&gt;
&lt;br /&gt;
If you need to modify or delete a variable at a later time, you can do so from the settings menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Globvarsdir.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows both per-procect and global variables. &amp;lt;tt&amp;gt;WX_CFG&amp;lt;/tt&amp;gt; is defined in the project, but &amp;lt;tt&amp;gt;WX&amp;lt;/tt&amp;gt; is a global user variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Members Mini-Tutorial ==&lt;br /&gt;
As stated above, writing &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#var)/include&amp;lt;/tt&amp;gt; is exactly the same thing by default.&lt;br /&gt;
So why would you want to write something as unintuitive as &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
Let's take a standard Boost installation under Windows as an example. Generally, you would expect a fictional package &amp;lt;tt&amp;gt;ACME&amp;lt;/tt&amp;gt; to have its include files under &amp;lt;tt&amp;gt;ACME/include&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;ACME/lib&amp;lt;/tt&amp;gt;. Optionally, it might place its headers into yet another subfolder called &amp;lt;tt&amp;gt;acme&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Thus, after adding the correct paths to the compiler and linker options, you would expect to &amp;lt;tt&amp;gt;#include &amp;lt;acme/acme.h&amp;gt;&amp;lt;/tt&amp;gt; and link to &amp;lt;tt&amp;gt;libacme.a&amp;lt;/tt&amp;gt; (or whatever it happens to be).&lt;br /&gt;
&lt;br /&gt;
Boost, however, installs headers into &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt; by default. It seems impossible to get this under one hood without having to adjust everything on every new PC, especially if you have to work under Linux or some other OS, too.&lt;br /&gt;
&lt;br /&gt;
This is where the true power of global user variables is unveiled. When defining the value of the &amp;lt;tt&amp;gt;#boost&amp;lt;/tt&amp;gt; variable, you go one step further than usual. You define the member &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and the member &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt;, respectively.&lt;br /&gt;
Your projects using &amp;lt;tt&amp;gt;$(#boost.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#boost.lib)&amp;lt;/tt&amp;gt; will magically work on every PC without any modifications. You don't need to know why, you don't want to know why.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=2531</id>
		<title>Global compiler variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Global_compiler_variables&amp;diff=2531"/>
		<updated>2006-03-27T19:27:27Z</updated>

		<summary type="html">&lt;p&gt;Thomas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks features]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
Working as a developer on a project which relies on 3rd party libraries involves a lot of unnecessary repetitive tasks, such as setting up build variables according to the local filesystem layout. In the case of project files, care must be taken to not accidentially commit a locally modified copy.&lt;br /&gt;
&lt;br /&gt;
The concept of global compiler variables is an unique new solution for Code::Blocks which addresses this problem.&lt;br /&gt;
Global compiler variables allow you to set up a project once, and any number of developers using any number of different filesystem layouts will be able to compile and develop the project. No local layout information needs to be changed more than once.&lt;br /&gt;
&lt;br /&gt;
== Names and Members ==&lt;br /&gt;
Global compiler variables in Code::Blocks are discriminated from [[per-project variables]] by a leading hash sign. Global compiler variables are structured; every variable consists of a ''name'' and an optional ''member''.&lt;br /&gt;
Names are freely definable, while the member structure is built into the IDE. Although you can choose anything for a variable name in principle, it is advisable to pick a known identifier for common packages. This way, the amount of information that the user needs to provide is minimised. The Code::Blocks team provides a [[Recommended global variables|list of recommended variables]] for known packages.&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;dir&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;base&amp;lt;/tt&amp;gt; resolve to the same value as the variable name uses without a member (alias).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; are by default aliases for ''base''&amp;lt;tt&amp;gt;/include&amp;lt;/tt&amp;gt; and ''base''&amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;, respectively. However, a user can redefine them if another setup is desired. It is recommended to ''always'' use the syntax &amp;lt;tt&amp;gt;$(#variable.include)&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;$(#variable)/include&amp;lt;/tt&amp;gt;, as it provides additional flexibility and is otherwise exactly identical in functionality (see mini tutorial at end of page).&lt;br /&gt;
&lt;br /&gt;
The members &amp;lt;tt&amp;gt;cflags&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lflags&amp;lt;/tt&amp;gt; are empty by default and can be used to provide the ability to feed the same consistent set of compiler/linker flags to all builds on one machine.&lt;br /&gt;
&lt;br /&gt;
== Using Global Compiler Variables ==&lt;br /&gt;
All you need to do to start using global compiler variables is to put them in your project!&lt;br /&gt;
&lt;br /&gt;
When the IDE detects the presence of an unknown global variable, it will prompt you to enter its value. The value will be saved in your settings, so you never need to enter the information twice.&lt;br /&gt;
&lt;br /&gt;
If you need to modify or delete a variable at a later time, you can do so from the settings menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Example:&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Globvarsdir.png]]&lt;br /&gt;
&lt;br /&gt;
The above image shows both per-procect and global variables. &amp;lt;tt&amp;gt;WX_CFG&amp;lt;/tt&amp;gt; is defined in the project, but &amp;lt;tt&amp;gt;WX&amp;lt;/tt&amp;gt; is a global user variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom Members Mini-Tutorial ==&lt;br /&gt;
As stated above, writing &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#var)/include&amp;lt;/tt&amp;gt; is exactly the same thing by default.&lt;br /&gt;
So why would you want to write something as unintuitive as &amp;lt;tt&amp;gt;$(#var.include)&amp;lt;/tt&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
Let's take a standard Boost installation under Windows as an example. Generally, you would expect a fictional package &amp;lt;tt&amp;gt;ACME&amp;lt;/tt&amp;gt; to have its include files under &amp;lt;tt&amp;gt;ACME/include&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;ACME/lib&amp;lt;/tt&amp;gt;. Optionally, it might place its headers into yet another subfolder called &amp;lt;tt&amp;gt;acme&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Thus, after adding the correct paths to the compiler and linker options, you would expect to &amp;lt;tt&amp;gt;#include &amp;lt;acme/acme.h&amp;gt;&amp;lt;/tt&amp;gt; and link to &amp;lt;tt&amp;gt;libacme.a&amp;lt;/tt&amp;gt; (or whatever it happens to be).&lt;br /&gt;
&lt;br /&gt;
Boost, however, installs headers into &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and its libraries under &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt; by default. It seems impossible to get this under one hood without having to adjust everything on every new PC, especially if you have to work under Linux or some other OS, too.&lt;br /&gt;
&lt;br /&gt;
This is where the true power of global user variables is unveiled. When defining the value of the &amp;lt;tt&amp;gt;#boost&amp;lt;/tt&amp;gt; variable, you go one step further than usual. You define the member &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\include\boost-1_33_1\boost&amp;lt;/tt&amp;gt; and the member &amp;lt;tt&amp;gt;lib&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;C:\Boost\lib&amp;lt;/tt&amp;gt;, respectively.&lt;br /&gt;
Your projects using &amp;lt;tt&amp;gt;$(#boost.include)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$(#boost.lib)&amp;lt;/tt&amp;gt; will magically work on every PC without any modifications. You don't need to know why, you don't want to know why.&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
</feed>