<?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=Jens</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=Jens"/>
	<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php/Special:Contributions/Jens"/>
	<updated>2026-04-28T19:10:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Syntax_highlighting_custom_colour_themes&amp;diff=7688</id>
		<title>Syntax highlighting custom colour themes</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Syntax_highlighting_custom_colour_themes&amp;diff=7688"/>
		<updated>2013-12-04T13:21:21Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: User Documentation]]&lt;br /&gt;
This page lists syntax highlighting custom colour themes contributed by Code::Blocks users.&lt;br /&gt;
&lt;br /&gt;
All screenshots were made with Code::Blocks 12.11 running on Windows XP, with the following settings:&lt;br /&gt;
* General settings/Editor settings/Font: '''Consolas 12''';&lt;br /&gt;
* General settings/Editor settings/Other options/Highlight line under caret: '''enabled''';&lt;br /&gt;
* Margins and caret/Caret/Style is '''Line''', Width is '''3''', and Colour is '''red''' (R: 255, G: 0, B: 0).&lt;br /&gt;
&lt;br /&gt;
There are dark themes and light themes. Custom colours are configured on each theme on a per-language basis. The themes below have been configured for C/C++ only; other languages are unchanged from the default colour theme.&lt;br /&gt;
&lt;br /&gt;
== Important note ==&lt;br /&gt;
&lt;br /&gt;
Currently, these themes can only be used with the C/C++ lexer !&lt;br /&gt;
&lt;br /&gt;
== Bright Yellow ==&lt;br /&gt;
&lt;br /&gt;
[[File:BrightYellow.png]]&lt;br /&gt;
&lt;br /&gt;
== Dark Gray ==&lt;br /&gt;
&lt;br /&gt;
[[File:DarkGray.png]]&lt;br /&gt;
&lt;br /&gt;
== Espresso Libre ==&lt;br /&gt;
You might want to set General settings/Editor settings/Other options/Highlight line under caret to '''disabled''' with this theme.&lt;br /&gt;
&lt;br /&gt;
[[File:EspressoLibre.png]]&lt;br /&gt;
&lt;br /&gt;
== Idel ==&lt;br /&gt;
&lt;br /&gt;
[[File:Idel.png]]&lt;br /&gt;
&lt;br /&gt;
== KFT2 ==&lt;br /&gt;
You might want to set General settings/Editor settings/Other options/Highlight line under caret to '''disabled''' with this theme.&lt;br /&gt;
&lt;br /&gt;
[[File:KFT2.png]]&lt;br /&gt;
&lt;br /&gt;
== Modnokai Coffee ==&lt;br /&gt;
&lt;br /&gt;
[[File:ModnokaiCoffee.png]]&lt;br /&gt;
&lt;br /&gt;
== Modnokai Night Shift ==&lt;br /&gt;
&lt;br /&gt;
[[File:ModnokaiNightShift.png]]&lt;br /&gt;
&lt;br /&gt;
== Modnokai Night Shift v2==&lt;br /&gt;
&lt;br /&gt;
[[File:ModnokaiNightShift_v2.png]]&lt;br /&gt;
&lt;br /&gt;
== Oblivion ==&lt;br /&gt;
&lt;br /&gt;
[[File:Oblivion.png]]&lt;br /&gt;
&lt;br /&gt;
== Slush n' Poppies ==&lt;br /&gt;
&lt;br /&gt;
[[File:SlushNPoppies.png]]&lt;br /&gt;
&lt;br /&gt;
== Solarized Dark ==&lt;br /&gt;
&lt;br /&gt;
[[File:SolarizedDark.png]]&lt;br /&gt;
&lt;br /&gt;
== Solarized Light ==&lt;br /&gt;
&lt;br /&gt;
[[File:SolarizedLight.png]]&lt;br /&gt;
&lt;br /&gt;
== Son of Obsidian ==&lt;br /&gt;
&lt;br /&gt;
[[File:SonOfObsidian.png]]&lt;br /&gt;
&lt;br /&gt;
== Sublime ==&lt;br /&gt;
&lt;br /&gt;
[[File:Sublime.png]]&lt;br /&gt;
&lt;br /&gt;
== Vim ==&lt;br /&gt;
&lt;br /&gt;
[[File:Vim.png]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Follow the steps below to install the colour themes:&lt;br /&gt;
&lt;br /&gt;
''Note: '''Always''' back up your current configuration file before importing a custom configuration file!''&lt;br /&gt;
&lt;br /&gt;
Make sure Code::Blocks is '''NOT''' running. Import the colour set file '''colour_themes.conf''' below:&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;UTF-8&amp;amp;quot; standalone=&amp;amp;quot;yes&amp;amp;quot; ?&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;CodeBlocksConfig version=&amp;amp;quot;1&amp;amp;quot;&amp;amp;gt;&lt;br /&gt;
 	&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 		&amp;amp;lt;colour_sets&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;ACTIVE_COLOUR_SET&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;![CDATA[modnokai night shift v2]]&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/ACTIVE_COLOUR_SET&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;ACTIVE_LANG&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/ACTIVE_LANG&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;bright_yellow&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[bright yellow]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;208&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;208&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;158&amp;amp;quot; g=&amp;amp;quot;158&amp;amp;quot; b=&amp;amp;quot;158&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;158&amp;amp;quot; g=&amp;amp;quot;158&amp;amp;quot; b=&amp;amp;quot;158&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;158&amp;amp;quot; g=&amp;amp;quot;158&amp;amp;quot; b=&amp;amp;quot;158&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;158&amp;amp;quot; g=&amp;amp;quot;158&amp;amp;quot; b=&amp;amp;quot;158&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;218&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;218&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style13&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style13&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style14&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style14&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/bright_yellow&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;dark_gray&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[dark gray]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;56&amp;amp;quot; b=&amp;amp;quot;54&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;56&amp;amp;quot; b=&amp;amp;quot;54&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style13&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style13&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style14&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style14&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;142&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;140&amp;amp;quot; g=&amp;amp;quot;196&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;230&amp;amp;quot; b=&amp;amp;quot;80&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;115&amp;amp;quot; g=&amp;amp;quot;210&amp;amp;quot; b=&amp;amp;quot;22&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/dark_gray&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;idel&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[idel]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;245&amp;amp;quot; g=&amp;amp;quot;245&amp;amp;quot; b=&amp;amp;quot;245&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;245&amp;amp;quot; g=&amp;amp;quot;245&amp;amp;quot; b=&amp;amp;quot;245&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;135&amp;amp;quot; g=&amp;amp;quot;135&amp;amp;quot; b=&amp;amp;quot;135&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;135&amp;amp;quot; g=&amp;amp;quot;135&amp;amp;quot; b=&amp;amp;quot;135&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;135&amp;amp;quot; g=&amp;amp;quot;135&amp;amp;quot; b=&amp;amp;quot;135&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;135&amp;amp;quot; g=&amp;amp;quot;135&amp;amp;quot; b=&amp;amp;quot;135&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;135&amp;amp;quot; g=&amp;amp;quot;135&amp;amp;quot; b=&amp;amp;quot;135&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;135&amp;amp;quot; g=&amp;amp;quot;135&amp;amp;quot; b=&amp;amp;quot;135&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;64&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;156&amp;amp;quot; g=&amp;amp;quot;37&amp;amp;quot; b=&amp;amp;quot;166&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;155&amp;amp;quot; b=&amp;amp;quot;45&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;155&amp;amp;quot; b=&amp;amp;quot;45&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/idel&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;oblivion&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[oblivion]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;238&amp;amp;quot; g=&amp;amp;quot;238&amp;amp;quot; b=&amp;amp;quot;236&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;46&amp;amp;quot; g=&amp;amp;quot;52&amp;amp;quot; b=&amp;amp;quot;54&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;238&amp;amp;quot; g=&amp;amp;quot;238&amp;amp;quot; b=&amp;amp;quot;236&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;46&amp;amp;quot; g=&amp;amp;quot;52&amp;amp;quot; b=&amp;amp;quot;54&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;136&amp;amp;quot; g=&amp;amp;quot;138&amp;amp;quot; b=&amp;amp;quot;133&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;136&amp;amp;quot; g=&amp;amp;quot;138&amp;amp;quot; b=&amp;amp;quot;133&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;136&amp;amp;quot; g=&amp;amp;quot;138&amp;amp;quot; b=&amp;amp;quot;133&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;136&amp;amp;quot; g=&amp;amp;quot;138&amp;amp;quot; b=&amp;amp;quot;133&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;52&amp;amp;quot; g=&amp;amp;quot;101&amp;amp;quot; b=&amp;amp;quot;164&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;52&amp;amp;quot; g=&amp;amp;quot;101&amp;amp;quot; b=&amp;amp;quot;164&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style17&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;164&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style17&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style18&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;164&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style18&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;173&amp;amp;quot; g=&amp;amp;quot;127&amp;amp;quot; b=&amp;amp;quot;168&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;46&amp;amp;quot; g=&amp;amp;quot;52&amp;amp;quot; b=&amp;amp;quot;54&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;233&amp;amp;quot; g=&amp;amp;quot;185&amp;amp;quot; b=&amp;amp;quot;110&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;78&amp;amp;quot; g=&amp;amp;quot;154&amp;amp;quot; b=&amp;amp;quot;6&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;185&amp;amp;quot; g=&amp;amp;quot;49&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;30&amp;amp;quot; g=&amp;amp;quot;3&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;185&amp;amp;quot; g=&amp;amp;quot;49&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;30&amp;amp;quot; g=&amp;amp;quot;3&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;245&amp;amp;quot; g=&amp;amp;quot;121&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style33&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;211&amp;amp;quot; g=&amp;amp;quot;215&amp;amp;quot; b=&amp;amp;quot;207&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[UUID]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style33&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;78&amp;amp;quot; g=&amp;amp;quot;154&amp;amp;quot; b=&amp;amp;quot;6&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;233&amp;amp;quot; g=&amp;amp;quot;185&amp;amp;quot; b=&amp;amp;quot;110&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;23&amp;amp;quot; g=&amp;amp;quot;32&amp;amp;quot; b=&amp;amp;quot;24&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;24&amp;amp;quot; g=&amp;amp;quot;33&amp;amp;quot; b=&amp;amp;quot;33&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style40&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;114&amp;amp;quot; g=&amp;amp;quot;159&amp;amp;quot; b=&amp;amp;quot;207&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style40&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style41&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;238&amp;amp;quot; g=&amp;amp;quot;238&amp;amp;quot; b=&amp;amp;quot;236&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;164&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[No matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style41&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/oblivion&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;son_of_obsidian&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[son of obsidian]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;241&amp;amp;quot; g=&amp;amp;quot;242&amp;amp;quot; b=&amp;amp;quot;243&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;34&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;42&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;241&amp;amp;quot; g=&amp;amp;quot;242&amp;amp;quot; b=&amp;amp;quot;243&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;34&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;42&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;102&amp;amp;quot; g=&amp;amp;quot;116&amp;amp;quot; b=&amp;amp;quot;123&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;102&amp;amp;quot; g=&amp;amp;quot;116&amp;amp;quot; b=&amp;amp;quot;123&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;102&amp;amp;quot; g=&amp;amp;quot;116&amp;amp;quot; b=&amp;amp;quot;123&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;102&amp;amp;quot; g=&amp;amp;quot;116&amp;amp;quot; b=&amp;amp;quot;123&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;153&amp;amp;quot; g=&amp;amp;quot;163&amp;amp;quot; b=&amp;amp;quot;138&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;153&amp;amp;quot; g=&amp;amp;quot;163&amp;amp;quot; b=&amp;amp;quot;138&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style17&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;164&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style17&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style18&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;164&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style18&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;205&amp;amp;quot; b=&amp;amp;quot;34&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;147&amp;amp;quot; g=&amp;amp;quot;199&amp;amp;quot; b=&amp;amp;quot;99&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;103&amp;amp;quot; g=&amp;amp;quot;140&amp;amp;quot; b=&amp;amp;quot;177&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;236&amp;amp;quot; g=&amp;amp;quot;118&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;236&amp;amp;quot; g=&amp;amp;quot;118&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;239&amp;amp;quot; g=&amp;amp;quot;194&amp;amp;quot; b=&amp;amp;quot;16&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style33&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;207&amp;amp;quot; g=&amp;amp;quot;215&amp;amp;quot; b=&amp;amp;quot;211&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[UUID]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style33&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;160&amp;amp;quot; g=&amp;amp;quot;130&amp;amp;quot; b=&amp;amp;quot;189&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;232&amp;amp;quot; g=&amp;amp;quot;226&amp;amp;quot; b=&amp;amp;quot;183&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;48&amp;amp;quot; g=&amp;amp;quot;58&amp;amp;quot; b=&amp;amp;quot;59&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;47&amp;amp;quot; g=&amp;amp;quot;57&amp;amp;quot; b=&amp;amp;quot;60&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style40&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;80&amp;amp;quot; g=&amp;amp;quot;80&amp;amp;quot; b=&amp;amp;quot;80&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style40&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style41&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;160&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;80&amp;amp;quot; g=&amp;amp;quot;80&amp;amp;quot; b=&amp;amp;quot;80&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[No matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style41&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/son_of_obsidian&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;solarized_light&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[solarized light]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;88&amp;amp;quot; g=&amp;amp;quot;110&amp;amp;quot; b=&amp;amp;quot;117&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;253&amp;amp;quot; g=&amp;amp;quot;246&amp;amp;quot; b=&amp;amp;quot;227&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;88&amp;amp;quot; g=&amp;amp;quot;110&amp;amp;quot; b=&amp;amp;quot;117&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;253&amp;amp;quot; g=&amp;amp;quot;246&amp;amp;quot; b=&amp;amp;quot;227&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;38&amp;amp;quot; g=&amp;amp;quot;139&amp;amp;quot; b=&amp;amp;quot;210&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;38&amp;amp;quot; g=&amp;amp;quot;139&amp;amp;quot; b=&amp;amp;quot;210&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style13&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style13&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style14&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style14&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style15&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;133&amp;amp;quot; g=&amp;amp;quot;153&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style15&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style16&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;133&amp;amp;quot; g=&amp;amp;quot;153&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style16&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style17&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;220&amp;amp;quot; g=&amp;amp;quot;50&amp;amp;quot; b=&amp;amp;quot;47&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style17&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style18&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;220&amp;amp;quot; g=&amp;amp;quot;50&amp;amp;quot; b=&amp;amp;quot;47&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style18&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;252&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;133&amp;amp;quot; g=&amp;amp;quot;153&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;88&amp;amp;quot; g=&amp;amp;quot;110&amp;amp;quot; b=&amp;amp;quot;117&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;203&amp;amp;quot; g=&amp;amp;quot;75&amp;amp;quot; b=&amp;amp;quot;22&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;181&amp;amp;quot; g=&amp;amp;quot;137&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/solarized_light&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;solarized_dark&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[solarized dark]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;147&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;161&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;43&amp;amp;quot; b=&amp;amp;quot;54&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;147&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;161&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;43&amp;amp;quot; b=&amp;amp;quot;54&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;38&amp;amp;quot; g=&amp;amp;quot;139&amp;amp;quot; b=&amp;amp;quot;210&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;38&amp;amp;quot; g=&amp;amp;quot;139&amp;amp;quot; b=&amp;amp;quot;210&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style13&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style13&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style14&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style14&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style15&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;133&amp;amp;quot; g=&amp;amp;quot;153&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style15&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style16&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;133&amp;amp;quot; g=&amp;amp;quot;153&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style16&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style17&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;220&amp;amp;quot; g=&amp;amp;quot;50&amp;amp;quot; b=&amp;amp;quot;47&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style17&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style18&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;220&amp;amp;quot; g=&amp;amp;quot;50&amp;amp;quot; b=&amp;amp;quot;47&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style18&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;252&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;133&amp;amp;quot; g=&amp;amp;quot;153&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;88&amp;amp;quot; g=&amp;amp;quot;110&amp;amp;quot; b=&amp;amp;quot;117&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;161&amp;amp;quot; b=&amp;amp;quot;152&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;203&amp;amp;quot; g=&amp;amp;quot;75&amp;amp;quot; b=&amp;amp;quot;22&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;181&amp;amp;quot; g=&amp;amp;quot;137&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;7&amp;amp;quot; g=&amp;amp;quot;54&amp;amp;quot; b=&amp;amp;quot;66&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME bool=&amp;amp;quot;1&amp;amp;quot;&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/solarized_dark&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;modnokai_coffee&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[modnokai coffee]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;39&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;34&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;39&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;34&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style13&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style13&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style14&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style14&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style15&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style15&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style16&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style16&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style17&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style17&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style18&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style18&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;38&amp;amp;quot; g=&amp;amp;quot;249&amp;amp;quot; b=&amp;amp;quot;173&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;249&amp;amp;quot; g=&amp;amp;quot;38&amp;amp;quot; b=&amp;amp;quot;114&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;224&amp;amp;quot; g=&amp;amp;quot;160&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;224&amp;amp;quot; g=&amp;amp;quot;160&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;249&amp;amp;quot; g=&amp;amp;quot;38&amp;amp;quot; b=&amp;amp;quot;114&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;166&amp;amp;quot; g=&amp;amp;quot;226&amp;amp;quot; b=&amp;amp;quot;46&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;73&amp;amp;quot; g=&amp;amp;quot;72&amp;amp;quot; b=&amp;amp;quot;62&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;62&amp;amp;quot; g=&amp;amp;quot;61&amp;amp;quot; b=&amp;amp;quot;50&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/modnokai_coffee&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;sublime&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[sublime]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;40&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;40&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;40&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;40&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;106&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;85&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;106&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;85&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;106&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;85&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;106&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;85&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;106&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;85&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;106&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;85&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;58&amp;amp;quot; g=&amp;amp;quot;81&amp;amp;quot; b=&amp;amp;quot;133&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;58&amp;amp;quot; g=&amp;amp;quot;81&amp;amp;quot; b=&amp;amp;quot;133&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;150&amp;amp;quot; g=&amp;amp;quot;110&amp;amp;quot; b=&amp;amp;quot;220&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;100&amp;amp;quot; g=&amp;amp;quot;210&amp;amp;quot; b=&amp;amp;quot;230&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;156&amp;amp;quot; g=&amp;amp;quot;242&amp;amp;quot; b=&amp;amp;quot;132&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;230&amp;amp;quot; g=&amp;amp;quot;220&amp;amp;quot; b=&amp;amp;quot;110&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;230&amp;amp;quot; g=&amp;amp;quot;220&amp;amp;quot; b=&amp;amp;quot;110&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;127&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;75&amp;amp;quot; g=&amp;amp;quot;72&amp;amp;quot; b=&amp;amp;quot;65&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;91&amp;amp;quot; g=&amp;amp;quot;90&amp;amp;quot; b=&amp;amp;quot;78&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/sublime&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;vim&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[vim]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;192&amp;amp;quot; g=&amp;amp;quot;192&amp;amp;quot; b=&amp;amp;quot;192&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;192&amp;amp;quot; g=&amp;amp;quot;192&amp;amp;quot; b=&amp;amp;quot;192&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/vim&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;slush_n_poppies&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[slush n poppies]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;241&amp;amp;quot; g=&amp;amp;quot;241&amp;amp;quot; b=&amp;amp;quot;241&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;241&amp;amp;quot; g=&amp;amp;quot;241&amp;amp;quot; b=&amp;amp;quot;241&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;64&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;64&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;64&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;64&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;64&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;64&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;64&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;160&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;32&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;160&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;32&amp;amp;quot; g=&amp;amp;quot;96&amp;amp;quot; b=&amp;amp;quot;160&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;192&amp;amp;quot; g=&amp;amp;quot;48&amp;amp;quot; b=&amp;amp;quot;48&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;192&amp;amp;quot; g=&amp;amp;quot;48&amp;amp;quot; b=&amp;amp;quot;48&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;97&amp;amp;quot; g=&amp;amp;quot;97&amp;amp;quot; b=&amp;amp;quot;97&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;176&amp;amp;quot; g=&amp;amp;quot;176&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style40&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;140&amp;amp;quot; g=&amp;amp;quot;140&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;UNDERLINED bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style40&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style41&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;106&amp;amp;quot; b=&amp;amp;quot;106&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[No matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style41&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/slush_n_poppies&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;espresso_libre&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[espresso libre]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;132&amp;amp;quot; g=&amp;amp;quot;112&amp;amp;quot; b=&amp;amp;quot;89&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;33&amp;amp;quot; b=&amp;amp;quot;28&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;132&amp;amp;quot; g=&amp;amp;quot;112&amp;amp;quot; b=&amp;amp;quot;89&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;42&amp;amp;quot; g=&amp;amp;quot;33&amp;amp;quot; b=&amp;amp;quot;28&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;102&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;68&amp;amp;quot; g=&amp;amp;quot;170&amp;amp;quot; b=&amp;amp;quot;67&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;67&amp;amp;quot; g=&amp;amp;quot;168&amp;amp;quot; b=&amp;amp;quot;237&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;4&amp;amp;quot; g=&amp;amp;quot;155&amp;amp;quot; b=&amp;amp;quot;10&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;4&amp;amp;quot; g=&amp;amp;quot;155&amp;amp;quot; b=&amp;amp;quot;10&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;47&amp;amp;quot; g=&amp;amp;quot;228&amp;amp;quot; b=&amp;amp;quot;32&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;154&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;135&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;109&amp;amp;quot; g=&amp;amp;quot;121&amp;amp;quot; b=&amp;amp;quot;222&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style40&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;192&amp;amp;quot; g=&amp;amp;quot;192&amp;amp;quot; b=&amp;amp;quot;192&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;141&amp;amp;quot; g=&amp;amp;quot;119&amp;amp;quot; b=&amp;amp;quot;95&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;UNDERLINED bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style40&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/espresso_libre&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;modnokai_night_shift&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[modnokai night shift]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;34&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;42&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;34&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;42&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style13&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style13&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style14&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style14&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style15&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style15&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style16&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style16&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style17&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style17&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style18&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style18&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;38&amp;amp;quot; g=&amp;amp;quot;249&amp;amp;quot; b=&amp;amp;quot;173&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;249&amp;amp;quot; g=&amp;amp;quot;38&amp;amp;quot; b=&amp;amp;quot;114&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;224&amp;amp;quot; g=&amp;amp;quot;160&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;224&amp;amp;quot; g=&amp;amp;quot;160&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;249&amp;amp;quot; g=&amp;amp;quot;38&amp;amp;quot; b=&amp;amp;quot;114&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;166&amp;amp;quot; g=&amp;amp;quot;226&amp;amp;quot; b=&amp;amp;quot;46&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;17&amp;amp;quot; g=&amp;amp;quot;64&amp;amp;quot; b=&amp;amp;quot;76&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;47&amp;amp;quot; g=&amp;amp;quot;57&amp;amp;quot; b=&amp;amp;quot;60&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords /&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/modnokai_night_shift&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;default&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[default]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/default&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;kft2&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[kft2]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;93&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;105&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;28&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;36&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;93&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;105&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;28&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;36&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;100&amp;amp;quot; g=&amp;amp;quot;211&amp;amp;quot; b=&amp;amp;quot;222&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;100&amp;amp;quot; g=&amp;amp;quot;211&amp;amp;quot; b=&amp;amp;quot;222&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style15&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;10&amp;amp;quot; g=&amp;amp;quot;187&amp;amp;quot; b=&amp;amp;quot;187&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style15&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style16&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;10&amp;amp;quot; g=&amp;amp;quot;187&amp;amp;quot; b=&amp;amp;quot;187&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style16&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;241&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;63&amp;amp;quot; g=&amp;amp;quot;118&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;222&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;171&amp;amp;quot; g=&amp;amp;quot;171&amp;amp;quot; b=&amp;amp;quot;171&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;171&amp;amp;quot; g=&amp;amp;quot;171&amp;amp;quot; b=&amp;amp;quot;171&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style31&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;176&amp;amp;quot; b=&amp;amp;quot;53&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Character]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style31&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style33&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[UUID]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style33&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;33&amp;amp;quot; g=&amp;amp;quot;237&amp;amp;quot; b=&amp;amp;quot;33&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;206&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;196&amp;amp;quot; b=&amp;amp;quot;253&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;78&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;86&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;14&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style40&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Matching brace highlight]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style40&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;SET4&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 									&amp;amp;lt;![CDATA[_DEBUG=1 __cplusplus __GNUC__ __GNUG__]]&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/SET4&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/keywords&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/kft2&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;modnokai_night_shift_v2&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;![CDATA[modnokai night shift v2]]&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;cc&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style0&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style0&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style1&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;255&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;0&amp;amp;quot; g=&amp;amp;quot;0&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Default]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style1&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style5&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style5&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style6&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style6&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style7&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style7&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style8&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style8&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style9&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style9&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style10&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (normal)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style10&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style11&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style11&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style12&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style12&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style13&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style13&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style14&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;117&amp;amp;quot; g=&amp;amp;quot;113&amp;amp;quot; b=&amp;amp;quot;94&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment line (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style14&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style15&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style15&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style16&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;128&amp;amp;quot; g=&amp;amp;quot;255&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style16&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style17&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style17&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style18&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Comment keyword error (documentation)]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style18&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style19&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;255&amp;amp;quot; g=&amp;amp;quot;128&amp;amp;quot; b=&amp;amp;quot;128&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Number]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style19&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style21&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;120&amp;amp;quot; g=&amp;amp;quot;215&amp;amp;quot; b=&amp;amp;quot;236&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style21&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style23&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;249&amp;amp;quot; g=&amp;amp;quot;38&amp;amp;quot; b=&amp;amp;quot;114&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BOLD bool=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;ITALICS bool=&amp;amp;quot;1&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[User keyword]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style23&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style27&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;224&amp;amp;quot; g=&amp;amp;quot;160&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style27&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style28&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;224&amp;amp;quot; g=&amp;amp;quot;160&amp;amp;quot; b=&amp;amp;quot;0&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[String]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style28&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style34&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;249&amp;amp;quot; g=&amp;amp;quot;38&amp;amp;quot; b=&amp;amp;quot;114&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Preprocessor]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style34&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style36&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;FORE&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;166&amp;amp;quot; g=&amp;amp;quot;226&amp;amp;quot; b=&amp;amp;quot;46&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/FORE&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Operator]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style36&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style38&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;17&amp;amp;quot; g=&amp;amp;quot;64&amp;amp;quot; b=&amp;amp;quot;76&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Selection]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style38&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;style39&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;BACK&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;colour r=&amp;amp;quot;34&amp;amp;quot; g=&amp;amp;quot;40&amp;amp;quot; b=&amp;amp;quot;42&amp;amp;quot; /&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/BACK&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;![CDATA[Active line]]&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/style39&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;editor&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;keywords&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;SET4&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 									&amp;amp;lt;![CDATA[__cplusplus __GNUC__ __GNUG__]]&amp;amp;gt;&lt;br /&gt;
 								&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;/SET4&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/keywords&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;NAME&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;str&amp;amp;gt;&lt;br /&gt;
 							&amp;amp;lt;![CDATA[C/C++]]&amp;amp;gt;&lt;br /&gt;
 						&amp;amp;lt;/str&amp;amp;gt;&lt;br /&gt;
 					&amp;amp;lt;/NAME&amp;amp;gt;&lt;br /&gt;
 				&amp;amp;lt;/cc&amp;amp;gt;&lt;br /&gt;
 			&amp;amp;lt;/modnokai_night_shift_v2&amp;amp;gt;&lt;br /&gt;
 		&amp;amp;lt;/colour_sets&amp;amp;gt;&lt;br /&gt;
 	&amp;amp;lt;/editor&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/CodeBlocksConfig&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
into your configuration with CB Share Config. Run Code::Blocks, go to Settings, Editor..., Syntax highlighting, and pick the colour theme of your choice.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_RPM_based_distributions&amp;diff=7360</id>
		<title>Installing Code::Blocks from source on RPM based distributions</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_RPM_based_distributions&amp;diff=7360"/>
		<updated>2012-09-22T07:59:00Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Build the RPM package */&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;
== Install Requirements ==&lt;br /&gt;
&lt;br /&gt;
Note: Code::Blocks requires GTK+ 2.x. Older distributions might only support GTK+ 1.x.&lt;br /&gt;
&lt;br /&gt;
Upgrading GTK+ is beyond the scope of this document, easier to upgrade distribution ?&lt;br /&gt;
&lt;br /&gt;
=== Install Development Tools ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* zip&lt;br /&gt;
* update-desktop-files (only on SUSE)&lt;br /&gt;
* make&lt;br /&gt;
* gettext&lt;br /&gt;
* autoconf &amp;gt;= 2.5&lt;br /&gt;
* automake &amp;gt;= 1.7&lt;br /&gt;
* libtool &amp;gt;= 1.4&lt;br /&gt;
* m4&lt;br /&gt;
* intltool&lt;br /&gt;
* gcc-c++&lt;br /&gt;
* libstdc++-devel&lt;br /&gt;
&lt;br /&gt;
In Fedora/CentOS, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum groupinstall &amp;quot;Development Tools&amp;quot;'&lt;br /&gt;
su -c 'yum install intltool'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Install newer autotools versions (if needed) ====&lt;br /&gt;
&lt;br /&gt;
If you have CentOS 3 or RHEL 3, you will need to rebuild &amp;quot;automake17&amp;quot; to use instead of automake-1.6:&lt;br /&gt;
* ftp://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os/i386/SRPMS/automake17-1.7.9-5.src.rpm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rpmbuild --rebuild automake17-1.7.9-5.src.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need to invoke bootstrap like this, both on the commandline and in codeblocks.spec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUTOMAKE=automake-1.7 ACLOCAL=aclocal-1.7 ACLOCAL_FLAGS=&amp;quot;-I /usr/share/aclocal&amp;quot; ./bootstrap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup RPM environment ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
The top work directory for RPM varies between distributions and setups, but you can find your RPM top dir by setting a variable like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RPM_TOPDIR=`rpm --eval %{_topdir}`&lt;br /&gt;
echo $RPM_TOPDIR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Non-root rpmbuild environment (recommended) ====&lt;br /&gt;
&lt;br /&gt;
It is recommended that you don't use the root account to build packages, here is how you set up a minimal user build environment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
mkdir rpm&lt;br /&gt;
echo &amp;quot;%_topdir $HOME/rpm&amp;quot; &amp;gt;&amp;gt; .rpmmacros&lt;br /&gt;
mkdir /tmp/$USER/rpm&lt;br /&gt;
echo &amp;quot;%_tmppath /tmp/$USER/rpm&amp;quot; &amp;gt;&amp;gt; .rpmmacros&lt;br /&gt;
cd rpm&lt;br /&gt;
mkdir SPECS SOURCES BUILD RPMS SRPMS&lt;br /&gt;
RPM_TOPDIR=`rpm --eval %{_topdir}`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now build packages without being root (assuming that the spec files are correct). You will still need root access to install.&lt;br /&gt;
&lt;br /&gt;
=== Install wxWidgets 2.6.x ===&lt;br /&gt;
&lt;br /&gt;
''Note: the following section on the required version is out of date; please ''do'' use from the 2.8 branch.''&lt;br /&gt;
&lt;br /&gt;
The build requirements in the source RPM are set to a minimum. So it isn't checked whether wxGTK is installed or not. So you have to take a look at it yourself. Note that currently Code::Blocks requires wxWidgets '''2.6''', not 2.8! So if your distribution only provides packages for wxWidgets 2.8, you need to build wxWidgets 2.6 yourself.&lt;br /&gt;
&lt;br /&gt;
This has to be installed:&lt;br /&gt;
# wxGTK &amp;gt;= 2.6.0 and its devel package (see [http://wxwidgets.org wxwidgets.org])&lt;br /&gt;
# wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)&lt;br /&gt;
&lt;br /&gt;
In later Fedora, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum install wxGTK-devel'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Build the wxGTK RPM from source (if needed) ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* http://prdownloads.sourceforge.net/wxwindows/wxGTK-2.6.3.tar.gz&lt;br /&gt;
* ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.tar.gz&lt;br /&gt;
* http://www.algonet.se/~afb/wx/wxGTK.spec&lt;br /&gt;
&lt;br /&gt;
RPMS&lt;br /&gt;
&lt;br /&gt;
* wx-base-unicode-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-base-unicode-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-gl-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-contrib-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-contrib-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-debuginfo-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-i18n-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
=== Install Subversion client ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* subversion &amp;gt;= 1.4.0, (see [http://subversion.tigris.org subversion.tigris.org])&lt;br /&gt;
&lt;br /&gt;
Binary packages for Red Hat Linux 9, Fedora Core 1, CentOS 3, CentOS 4 at:&lt;br /&gt;
&lt;br /&gt;
http://the.earth.li/pub/subversion/summersoft.fay.ar.us/pub/subversion/latest/&lt;br /&gt;
&lt;br /&gt;
In later Fedora, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum install subversion'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Build Subversion RPM from source (if needed) ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* http://subversion.tigris.org/downloads/subversion-1.4.2.tar.gz&lt;br /&gt;
* packages/rpm/rhel-3/subversion.spec (CentOS 3)&lt;br /&gt;
* packages/rpm/rhel-4/subversion.spec (CentOS 4)&lt;br /&gt;
&lt;br /&gt;
RPMS&lt;br /&gt;
&lt;br /&gt;
* subversion-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-devel-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-perl-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-python-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-tools-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-debuginfo-1.4.2-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Install Code::Blocks ==&lt;br /&gt;
&lt;br /&gt;
=== Download the Source RPM ===&lt;br /&gt;
&lt;br /&gt;
1. Download the Source RPM from [https://www.codeblocks.org/downloads/source www.codeblocks.org/downloads/source]&lt;br /&gt;
&lt;br /&gt;
''Note: SRPM's are for the last stable (10.05); the SVN branch includes the many improvements since then.''&lt;br /&gt;
&amp;lt;!-- &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note: the SRPM is currently unavailable (latest version being the old RC2), use SVN:&amp;lt;/span&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Prepare SRPM package from SVN (if needed) ====&lt;br /&gt;
&lt;br /&gt;
1. You need to get the latest sources from SVN [https://www.codeblocks.org/downloads/svn www.codeblocks.org/downloads/svn]&lt;br /&gt;
&lt;br /&gt;
 svn checkout svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
&lt;br /&gt;
2. go into ''trunk'', if you haven't already done it.&lt;br /&gt;
&lt;br /&gt;
3. run these three commands in this order&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 ./configure&lt;br /&gt;
 make dist&lt;br /&gt;
the last one will create a .tar.gz archive that contains the sources.&lt;br /&gt;
&lt;br /&gt;
4. copy the archive to the directory $RPM_TOPDIR/SOURCES &lt;br /&gt;
 sudo mv codeblocks-trunk-r*.tar.gz $RPM_TOPDIR/SOURCES&lt;br /&gt;
&lt;br /&gt;
5. build the source RPM, or copy spec to $RPM_TOPDIR/SPECS&lt;br /&gt;
 rpmbuild -bs codeblocks.spec&lt;br /&gt;
&lt;br /&gt;
This will create a source package in the directory $RPM_TOPDIR/SRPMS/.&lt;br /&gt;
&lt;br /&gt;
=== Build the RPM package ===&lt;br /&gt;
&lt;br /&gt;
1. Build the binary package&lt;br /&gt;
 rpmbuild --rebuild codeblocks*.src.rpm&lt;br /&gt;
&lt;br /&gt;
This will create several packages in one of the architecture specific subdirectories (i386, x86_64, ppc, ...) of $RPM_TOPDIR/RPMS/.&lt;br /&gt;
&lt;br /&gt;
These are:&lt;br /&gt;
* codeblocks: main package&lt;br /&gt;
* codeblocks-contrib: contrib plugins&lt;br /&gt;
* codeblocks-devel: SDK headers&lt;br /&gt;
* codeblocks-contrib-devel: headers for contrib-plugins (wxSmith etc.)&lt;br /&gt;
* codeblocks-debuginfo: stripped debug information&lt;br /&gt;
&lt;br /&gt;
=== Install the RPM package ===&lt;br /&gt;
&lt;br /&gt;
Install as root the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks!&lt;br /&gt;
 su -c 'rpm -Uvh codeblocks-1.0*.i386.rpm'&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_RPM_based_distributions&amp;diff=7359</id>
		<title>Installing Code::Blocks from source on RPM based distributions</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_RPM_based_distributions&amp;diff=7359"/>
		<updated>2012-09-22T07:57:15Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Build the RPM package */&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;
== Install Requirements ==&lt;br /&gt;
&lt;br /&gt;
Note: Code::Blocks requires GTK+ 2.x. Older distributions might only support GTK+ 1.x.&lt;br /&gt;
&lt;br /&gt;
Upgrading GTK+ is beyond the scope of this document, easier to upgrade distribution ?&lt;br /&gt;
&lt;br /&gt;
=== Install Development Tools ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* zip&lt;br /&gt;
* update-desktop-files (only on SUSE)&lt;br /&gt;
* make&lt;br /&gt;
* gettext&lt;br /&gt;
* autoconf &amp;gt;= 2.5&lt;br /&gt;
* automake &amp;gt;= 1.7&lt;br /&gt;
* libtool &amp;gt;= 1.4&lt;br /&gt;
* m4&lt;br /&gt;
* intltool&lt;br /&gt;
* gcc-c++&lt;br /&gt;
* libstdc++-devel&lt;br /&gt;
&lt;br /&gt;
In Fedora/CentOS, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum groupinstall &amp;quot;Development Tools&amp;quot;'&lt;br /&gt;
su -c 'yum install intltool'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Install newer autotools versions (if needed) ====&lt;br /&gt;
&lt;br /&gt;
If you have CentOS 3 or RHEL 3, you will need to rebuild &amp;quot;automake17&amp;quot; to use instead of automake-1.6:&lt;br /&gt;
* ftp://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os/i386/SRPMS/automake17-1.7.9-5.src.rpm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rpmbuild --rebuild automake17-1.7.9-5.src.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need to invoke bootstrap like this, both on the commandline and in codeblocks.spec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUTOMAKE=automake-1.7 ACLOCAL=aclocal-1.7 ACLOCAL_FLAGS=&amp;quot;-I /usr/share/aclocal&amp;quot; ./bootstrap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup RPM environment ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
The top work directory for RPM varies between distributions and setups, but you can find your RPM top dir by setting a variable like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RPM_TOPDIR=`rpm --eval %{_topdir}`&lt;br /&gt;
echo $RPM_TOPDIR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Non-root rpmbuild environment (recommended) ====&lt;br /&gt;
&lt;br /&gt;
It is recommended that you don't use the root account to build packages, here is how you set up a minimal user build environment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
mkdir rpm&lt;br /&gt;
echo &amp;quot;%_topdir $HOME/rpm&amp;quot; &amp;gt;&amp;gt; .rpmmacros&lt;br /&gt;
mkdir /tmp/$USER/rpm&lt;br /&gt;
echo &amp;quot;%_tmppath /tmp/$USER/rpm&amp;quot; &amp;gt;&amp;gt; .rpmmacros&lt;br /&gt;
cd rpm&lt;br /&gt;
mkdir SPECS SOURCES BUILD RPMS SRPMS&lt;br /&gt;
RPM_TOPDIR=`rpm --eval %{_topdir}`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now build packages without being root (assuming that the spec files are correct). You will still need root access to install.&lt;br /&gt;
&lt;br /&gt;
=== Install wxWidgets 2.6.x ===&lt;br /&gt;
&lt;br /&gt;
''Note: the following section on the required version is out of date; please ''do'' use from the 2.8 branch.''&lt;br /&gt;
&lt;br /&gt;
The build requirements in the source RPM are set to a minimum. So it isn't checked whether wxGTK is installed or not. So you have to take a look at it yourself. Note that currently Code::Blocks requires wxWidgets '''2.6''', not 2.8! So if your distribution only provides packages for wxWidgets 2.8, you need to build wxWidgets 2.6 yourself.&lt;br /&gt;
&lt;br /&gt;
This has to be installed:&lt;br /&gt;
# wxGTK &amp;gt;= 2.6.0 and its devel package (see [http://wxwidgets.org wxwidgets.org])&lt;br /&gt;
# wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)&lt;br /&gt;
&lt;br /&gt;
In later Fedora, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum install wxGTK-devel'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Build the wxGTK RPM from source (if needed) ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* http://prdownloads.sourceforge.net/wxwindows/wxGTK-2.6.3.tar.gz&lt;br /&gt;
* ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.tar.gz&lt;br /&gt;
* http://www.algonet.se/~afb/wx/wxGTK.spec&lt;br /&gt;
&lt;br /&gt;
RPMS&lt;br /&gt;
&lt;br /&gt;
* wx-base-unicode-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-base-unicode-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-gl-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-contrib-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-contrib-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-debuginfo-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-i18n-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
=== Install Subversion client ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* subversion &amp;gt;= 1.4.0, (see [http://subversion.tigris.org subversion.tigris.org])&lt;br /&gt;
&lt;br /&gt;
Binary packages for Red Hat Linux 9, Fedora Core 1, CentOS 3, CentOS 4 at:&lt;br /&gt;
&lt;br /&gt;
http://the.earth.li/pub/subversion/summersoft.fay.ar.us/pub/subversion/latest/&lt;br /&gt;
&lt;br /&gt;
In later Fedora, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum install subversion'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Build Subversion RPM from source (if needed) ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* http://subversion.tigris.org/downloads/subversion-1.4.2.tar.gz&lt;br /&gt;
* packages/rpm/rhel-3/subversion.spec (CentOS 3)&lt;br /&gt;
* packages/rpm/rhel-4/subversion.spec (CentOS 4)&lt;br /&gt;
&lt;br /&gt;
RPMS&lt;br /&gt;
&lt;br /&gt;
* subversion-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-devel-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-perl-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-python-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-tools-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-debuginfo-1.4.2-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Install Code::Blocks ==&lt;br /&gt;
&lt;br /&gt;
=== Download the Source RPM ===&lt;br /&gt;
&lt;br /&gt;
1. Download the Source RPM from [https://www.codeblocks.org/downloads/source www.codeblocks.org/downloads/source]&lt;br /&gt;
&lt;br /&gt;
''Note: SRPM's are for the last stable (10.05); the SVN branch includes the many improvements since then.''&lt;br /&gt;
&amp;lt;!-- &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note: the SRPM is currently unavailable (latest version being the old RC2), use SVN:&amp;lt;/span&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Prepare SRPM package from SVN (if needed) ====&lt;br /&gt;
&lt;br /&gt;
1. You need to get the latest sources from SVN [https://www.codeblocks.org/downloads/svn www.codeblocks.org/downloads/svn]&lt;br /&gt;
&lt;br /&gt;
 svn checkout svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
&lt;br /&gt;
2. go into ''trunk'', if you haven't already done it.&lt;br /&gt;
&lt;br /&gt;
3. run these three commands in this order&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 ./configure&lt;br /&gt;
 make dist&lt;br /&gt;
the last one will create a .tar.gz archive that contains the sources.&lt;br /&gt;
&lt;br /&gt;
4. copy the archive to the directory $RPM_TOPDIR/SOURCES &lt;br /&gt;
 sudo mv codeblocks-trunk-r*.tar.gz $RPM_TOPDIR/SOURCES&lt;br /&gt;
&lt;br /&gt;
5. build the source RPM, or copy spec to $RPM_TOPDIR/SPECS&lt;br /&gt;
 rpmbuild -bs codeblocks.spec&lt;br /&gt;
&lt;br /&gt;
This will create a source package in the directory $RPM_TOPDIR/SRPMS/.&lt;br /&gt;
&lt;br /&gt;
=== Build the RPM package ===&lt;br /&gt;
&lt;br /&gt;
1. Build the binary package&lt;br /&gt;
 rpmbuild --rebuild codeblocks*.src.rpm&lt;br /&gt;
&lt;br /&gt;
This will create several packages in one of the architecture specific subdirectories (i386, x86_64, ppc, ...) of $RPM_TOPDIR/RPMS/.&lt;br /&gt;
&lt;br /&gt;
These are:&lt;br /&gt;
* codeblocks: main package&lt;br /&gt;
* codeblocks-contrib: contrib plugins&lt;br /&gt;
* codeblocks-devel: SDK headers&lt;br /&gt;
* codeblocks-debuginfo: stripped debug information&lt;br /&gt;
&lt;br /&gt;
=== Install the RPM package ===&lt;br /&gt;
&lt;br /&gt;
Install as root the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks!&lt;br /&gt;
 su -c 'rpm -Uvh codeblocks-1.0*.i386.rpm'&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_RPM_based_distributions&amp;diff=7358</id>
		<title>Installing Code::Blocks from source on RPM based distributions</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_RPM_based_distributions&amp;diff=7358"/>
		<updated>2012-09-22T07:56:52Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Prepare SRPM package from SVN (if needed) */&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;
== Install Requirements ==&lt;br /&gt;
&lt;br /&gt;
Note: Code::Blocks requires GTK+ 2.x. Older distributions might only support GTK+ 1.x.&lt;br /&gt;
&lt;br /&gt;
Upgrading GTK+ is beyond the scope of this document, easier to upgrade distribution ?&lt;br /&gt;
&lt;br /&gt;
=== Install Development Tools ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* zip&lt;br /&gt;
* update-desktop-files (only on SUSE)&lt;br /&gt;
* make&lt;br /&gt;
* gettext&lt;br /&gt;
* autoconf &amp;gt;= 2.5&lt;br /&gt;
* automake &amp;gt;= 1.7&lt;br /&gt;
* libtool &amp;gt;= 1.4&lt;br /&gt;
* m4&lt;br /&gt;
* intltool&lt;br /&gt;
* gcc-c++&lt;br /&gt;
* libstdc++-devel&lt;br /&gt;
&lt;br /&gt;
In Fedora/CentOS, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum groupinstall &amp;quot;Development Tools&amp;quot;'&lt;br /&gt;
su -c 'yum install intltool'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Install newer autotools versions (if needed) ====&lt;br /&gt;
&lt;br /&gt;
If you have CentOS 3 or RHEL 3, you will need to rebuild &amp;quot;automake17&amp;quot; to use instead of automake-1.6:&lt;br /&gt;
* ftp://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os/i386/SRPMS/automake17-1.7.9-5.src.rpm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rpmbuild --rebuild automake17-1.7.9-5.src.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you need to invoke bootstrap like this, both on the commandline and in codeblocks.spec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUTOMAKE=automake-1.7 ACLOCAL=aclocal-1.7 ACLOCAL_FLAGS=&amp;quot;-I /usr/share/aclocal&amp;quot; ./bootstrap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup RPM environment ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* rpm-build&lt;br /&gt;
&lt;br /&gt;
The top work directory for RPM varies between distributions and setups, but you can find your RPM top dir by setting a variable like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RPM_TOPDIR=`rpm --eval %{_topdir}`&lt;br /&gt;
echo $RPM_TOPDIR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Non-root rpmbuild environment (recommended) ====&lt;br /&gt;
&lt;br /&gt;
It is recommended that you don't use the root account to build packages, here is how you set up a minimal user build environment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
mkdir rpm&lt;br /&gt;
echo &amp;quot;%_topdir $HOME/rpm&amp;quot; &amp;gt;&amp;gt; .rpmmacros&lt;br /&gt;
mkdir /tmp/$USER/rpm&lt;br /&gt;
echo &amp;quot;%_tmppath /tmp/$USER/rpm&amp;quot; &amp;gt;&amp;gt; .rpmmacros&lt;br /&gt;
cd rpm&lt;br /&gt;
mkdir SPECS SOURCES BUILD RPMS SRPMS&lt;br /&gt;
RPM_TOPDIR=`rpm --eval %{_topdir}`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now build packages without being root (assuming that the spec files are correct). You will still need root access to install.&lt;br /&gt;
&lt;br /&gt;
=== Install wxWidgets 2.6.x ===&lt;br /&gt;
&lt;br /&gt;
''Note: the following section on the required version is out of date; please ''do'' use from the 2.8 branch.''&lt;br /&gt;
&lt;br /&gt;
The build requirements in the source RPM are set to a minimum. So it isn't checked whether wxGTK is installed or not. So you have to take a look at it yourself. Note that currently Code::Blocks requires wxWidgets '''2.6''', not 2.8! So if your distribution only provides packages for wxWidgets 2.8, you need to build wxWidgets 2.6 yourself.&lt;br /&gt;
&lt;br /&gt;
This has to be installed:&lt;br /&gt;
# wxGTK &amp;gt;= 2.6.0 and its devel package (see [http://wxwidgets.org wxwidgets.org])&lt;br /&gt;
# wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)&lt;br /&gt;
&lt;br /&gt;
In later Fedora, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum install wxGTK-devel'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Build the wxGTK RPM from source (if needed) ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* http://prdownloads.sourceforge.net/wxwindows/wxGTK-2.6.3.tar.gz&lt;br /&gt;
* ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.tar.gz&lt;br /&gt;
* http://www.algonet.se/~afb/wx/wxGTK.spec&lt;br /&gt;
&lt;br /&gt;
RPMS&lt;br /&gt;
&lt;br /&gt;
* wx-base-unicode-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-base-unicode-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-gl-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-contrib-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-contrib-devel-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-gtk2-unicode-debuginfo-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
* wx-i18n-2.6.3.0.2-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
=== Install Subversion client ===&lt;br /&gt;
&lt;br /&gt;
This has to be installed before starting:&lt;br /&gt;
* subversion &amp;gt;= 1.4.0, (see [http://subversion.tigris.org subversion.tigris.org])&lt;br /&gt;
&lt;br /&gt;
Binary packages for Red Hat Linux 9, Fedora Core 1, CentOS 3, CentOS 4 at:&lt;br /&gt;
&lt;br /&gt;
http://the.earth.li/pub/subversion/summersoft.fay.ar.us/pub/subversion/latest/&lt;br /&gt;
&lt;br /&gt;
In later Fedora, this can be done with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -c 'yum install subversion'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Build Subversion RPM from source (if needed) ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* http://subversion.tigris.org/downloads/subversion-1.4.2.tar.gz&lt;br /&gt;
* packages/rpm/rhel-3/subversion.spec (CentOS 3)&lt;br /&gt;
* packages/rpm/rhel-4/subversion.spec (CentOS 4)&lt;br /&gt;
&lt;br /&gt;
RPMS&lt;br /&gt;
&lt;br /&gt;
* subversion-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-devel-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-perl-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-python-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-tools-1.4.2-1.i386.rpm&lt;br /&gt;
* subversion-debuginfo-1.4.2-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Install Code::Blocks ==&lt;br /&gt;
&lt;br /&gt;
=== Download the Source RPM ===&lt;br /&gt;
&lt;br /&gt;
1. Download the Source RPM from [https://www.codeblocks.org/downloads/source www.codeblocks.org/downloads/source]&lt;br /&gt;
&lt;br /&gt;
''Note: SRPM's are for the last stable (10.05); the SVN branch includes the many improvements since then.''&lt;br /&gt;
&amp;lt;!-- &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note: the SRPM is currently unavailable (latest version being the old RC2), use SVN:&amp;lt;/span&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Prepare SRPM package from SVN (if needed) ====&lt;br /&gt;
&lt;br /&gt;
1. You need to get the latest sources from SVN [https://www.codeblocks.org/downloads/svn www.codeblocks.org/downloads/svn]&lt;br /&gt;
&lt;br /&gt;
 svn checkout svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
&lt;br /&gt;
2. go into ''trunk'', if you haven't already done it.&lt;br /&gt;
&lt;br /&gt;
3. run these three commands in this order&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
 ./configure&lt;br /&gt;
 make dist&lt;br /&gt;
the last one will create a .tar.gz archive that contains the sources.&lt;br /&gt;
&lt;br /&gt;
4. copy the archive to the directory $RPM_TOPDIR/SOURCES &lt;br /&gt;
 sudo mv codeblocks-trunk-r*.tar.gz $RPM_TOPDIR/SOURCES&lt;br /&gt;
&lt;br /&gt;
5. build the source RPM, or copy spec to $RPM_TOPDIR/SPECS&lt;br /&gt;
 rpmbuild -bs codeblocks.spec&lt;br /&gt;
&lt;br /&gt;
This will create a source package in the directory $RPM_TOPDIR/SRPMS/.&lt;br /&gt;
&lt;br /&gt;
=== Build the RPM package ===&lt;br /&gt;
&lt;br /&gt;
1. Build the binary package&lt;br /&gt;
 rpmbuild --rebuild codeblocks-1.0*.src.rpm&lt;br /&gt;
&lt;br /&gt;
This will create several packages in one of the architecture specific subdirectories (i386, x86_64, ppc, ...) of $RPM_TOPDIR/RPMS/.&lt;br /&gt;
&lt;br /&gt;
These are:&lt;br /&gt;
* codeblocks: main package&lt;br /&gt;
* codeblocks-contrib: contrib plugins&lt;br /&gt;
* codeblocks-devel: SDK headers&lt;br /&gt;
* codeblocks-debuginfo: stripped debug information&lt;br /&gt;
&lt;br /&gt;
=== Install the RPM package ===&lt;br /&gt;
&lt;br /&gt;
Install as root the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks!&lt;br /&gt;
 su -c 'rpm -Uvh codeblocks-1.0*.i386.rpm'&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_3.0.0_to_develop_Code::Blocks_(MSW)&amp;diff=7357</id>
		<title>Compiling wxWidgets 3.0.0 to develop Code::Blocks (MSW)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_3.0.0_to_develop_Code::Blocks_(MSW)&amp;diff=7357"/>
		<updated>2012-09-22T07:56:06Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Patching Code::Blocks to using 2.9 instead of 2.8 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note, the wxWidgets 2.9.0 release is a development release NOT intended for production use.''' &lt;br /&gt;
&lt;br /&gt;
'''Note, compiling Code::Blocks linked against the wxWidgets 2.9.0 is NOT ready for stable use; it crashes and fails to compile from time to time.'''&lt;br /&gt;
&lt;br /&gt;
These are the instructions for compiling wxWidgets for use with Code::Blocks. They are primarily intended in preparation for compiling Code::Blocks itself but (hopefully) may also help installing wxWidgets for general development using that framework.&lt;br /&gt;
&lt;br /&gt;
Although these instructions are targeted at the Windows operating system, it should be possible to apply them with slight adjustments to other platforms, since we make use of MinGW.&lt;br /&gt;
&lt;br /&gt;
== Installing MinGW ==&lt;br /&gt;
Directions to install MinGW for Code::Blocks can be found here.&lt;br /&gt;
[[MinGW installation]]&lt;br /&gt;
&lt;br /&gt;
== Installing the wxWidgets Source Code ==&lt;br /&gt;
The wxWidgets 2.9.0 distribution can be found at the [http://www.wxwidgets.org/downloads/#previous_stable wxWidgets download site]. (Note that there is also a winhelp file available.) You can choose between an installer and a zip file. You can just get the zip file because the installer is also a zipped version.&lt;br /&gt;
&lt;br /&gt;
If you use the plain zip version, make sure to unzip using the full path. Otherwise the directories won't be created correctly.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For the remainder of these instructions we call the wxWidgets directory ''&amp;lt;WXWIN&amp;gt;''. You have to change it to your corresponding directory (e.g. &amp;quot;c:\wxMSW-2.9.0\wxWidgets-2.9.0&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' You do not need MSYS. Furthermore, you cannot have MSYS in your path, or the wxWidgets compilation will fail. Thus, if you have MSYS installed, ensure that ''&amp;lt;MSYS&amp;gt;\bin'' '''is not''' in your path before compiling wxWidgets. wxWidgets must be compiled from a &amp;quot;regular&amp;quot; command line (like cmd.exe), not from a Unix-like shell. The same problem could arise if Cygwin is in the path.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For the remainder of these instructions we call the MinGW directory ''&amp;lt;MINGW&amp;gt;''. You have to change it to your corresponding directory (e.g. &amp;quot;C:\MinGW&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Checking make Version ==&lt;br /&gt;
If you didn't install MinGW yourself you have to ensure you are using a recent enough version of the make utility. Open a command prompt and type:&lt;br /&gt;
 &amp;lt;tt&amp;gt;cd &amp;lt;MINGW&amp;gt;\bin&lt;br /&gt;
 mingw32-make -v&amp;lt;/tt&amp;gt;&lt;br /&gt;
The version should read 3.80 or higher.&lt;br /&gt;
&lt;br /&gt;
== Building wxWidgets ==&lt;br /&gt;
=== Editing the values to be used in wx/setup.h ===&lt;br /&gt;
Note, changing the value of wxUSE_STC prevents error compiling Code::Blocks because it has its own custom version of STC.&lt;br /&gt;
===== Open the folder &amp;lt;WXWIN&amp;gt;\include\wx\msw\ ===== &lt;br /&gt;
===== If the file setup.h does not exist copy the file setup0.h to setup.h =====&lt;br /&gt;
===== With an text editor open &amp;lt;WXWIN&amp;gt;\include\wx\msw\setup.h =====&lt;br /&gt;
===== Change &amp;quot;#define wxUSE_STC 1&amp;quot; to &amp;quot;#define wxUSE_STC 0&amp;quot; =====&lt;br /&gt;
===== Save the changes =====&lt;br /&gt;
&lt;br /&gt;
=== Changing Directory and Setting Path ===&lt;br /&gt;
To compile wxWidgets, open the command prompt window and change to the wxWidgets directory:&lt;br /&gt;
 &amp;lt;tt&amp;gt;cd /d &amp;lt;WXWIN&amp;gt;\build\msw&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;SET PATH=&amp;lt;MINGW&amp;gt;\bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
'''NOTE:''' This is normally SET PATH=C:\MingGW\bin&lt;br /&gt;
&lt;br /&gt;
=== Cleaning wxWidgets Code ===&lt;br /&gt;
Now clean up the source:&lt;br /&gt;
 &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 USE_STC=0 USE_PROPGRID=1 BUILD=release clean&amp;lt;/tt&amp;gt;&lt;br /&gt;
'''NOTE:''' Make sure you use exactly the same options for this step and for the build step below. The clean target uses these variables and only cleans the specified version of the generated object and library files. (It will not clean the intended files if these variables are not identical.)&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you still have problems with compiling after cleaning, you could try to manually remove the gcc_msw directory under the build\msw directory. This directory is the place where the object files are stored.&lt;br /&gt;
&lt;br /&gt;
=== Building wxWidgets Code ===&lt;br /&gt;
When everything is clean you can start compiling wxWidgets:&lt;br /&gt;
 &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 USE_STC=0 USE_PROPGRID=1 BUILD=release&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' These options are not the officially-supported Code::Blocks options because there is no official options for wxWidgets 2.9. The option of &amp;quot;USE_STC=0&amp;quot; is needed because Code::Blocks has its own customized version of it; and, if both exists it will cause errors building Code::Blocks plugins. The option &amp;quot;USE_PROPGRID=1&amp;quot; is used to help building plugins that depend on wxPropertyGrid. If you want another version of wxWidgets (debug or non-Unicode) you still have to make sure you build a MONOLITHIC version (one big DLL) for linking Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
Patience. This step takes time. Make sure there was no compilation error before you continue.&lt;br /&gt;
&lt;br /&gt;
== Compiling Code::Blocks ==&lt;br /&gt;
=== Patching Code::Blocks to using 2.9 instead of 2.8 ===&lt;br /&gt;
No patches are needed to compile Code::Blocks with wxWidgets 2.9, just use the project/workspace-files with the ''_wx29'' in the name and call ''update29,bat'' to update the resources.&lt;br /&gt;
&lt;br /&gt;
That does not mean, that everything runs absolutely bug-free, but we are working on it.&lt;br /&gt;
&lt;br /&gt;
As always patches are welcome.&lt;br /&gt;
&lt;br /&gt;
=== Setting up paths ===&lt;br /&gt;
Before finally compiling Code::Blocks itself, you need to setup the paths:&lt;br /&gt;
*Open the Code::Blocks project (CodeBlocks.cbp).&lt;br /&gt;
*It will ask you to define a [[Global compiler variables|Global variable]]&lt;br /&gt;
*Set the path to where you have wxWidgets installed (e.g. &amp;quot;c:\wxMSW-2.9.0\wxWidgets-2.9.0&amp;quot;).&lt;br /&gt;
*Compile Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
=== Post compilation steps ===&lt;br /&gt;
When the compilation process is finished, simply run the update.bat script. It will ensure that all resource files Code::Blocks uses are in the right place and up to date.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_3.0.0_to_develop_Code::Blocks_(MSW)&amp;diff=7356</id>
		<title>Compiling wxWidgets 3.0.0 to develop Code::Blocks (MSW)</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_3.0.0_to_develop_Code::Blocks_(MSW)&amp;diff=7356"/>
		<updated>2012-09-22T07:54:27Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Patching Code::Blocks to using 2.9 instead of 2.8 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note, the wxWidgets 2.9.0 release is a development release NOT intended for production use.''' &lt;br /&gt;
&lt;br /&gt;
'''Note, compiling Code::Blocks linked against the wxWidgets 2.9.0 is NOT ready for stable use; it crashes and fails to compile from time to time.'''&lt;br /&gt;
&lt;br /&gt;
These are the instructions for compiling wxWidgets for use with Code::Blocks. They are primarily intended in preparation for compiling Code::Blocks itself but (hopefully) may also help installing wxWidgets for general development using that framework.&lt;br /&gt;
&lt;br /&gt;
Although these instructions are targeted at the Windows operating system, it should be possible to apply them with slight adjustments to other platforms, since we make use of MinGW.&lt;br /&gt;
&lt;br /&gt;
== Installing MinGW ==&lt;br /&gt;
Directions to install MinGW for Code::Blocks can be found here.&lt;br /&gt;
[[MinGW installation]]&lt;br /&gt;
&lt;br /&gt;
== Installing the wxWidgets Source Code ==&lt;br /&gt;
The wxWidgets 2.9.0 distribution can be found at the [http://www.wxwidgets.org/downloads/#previous_stable wxWidgets download site]. (Note that there is also a winhelp file available.) You can choose between an installer and a zip file. You can just get the zip file because the installer is also a zipped version.&lt;br /&gt;
&lt;br /&gt;
If you use the plain zip version, make sure to unzip using the full path. Otherwise the directories won't be created correctly.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For the remainder of these instructions we call the wxWidgets directory ''&amp;lt;WXWIN&amp;gt;''. You have to change it to your corresponding directory (e.g. &amp;quot;c:\wxMSW-2.9.0\wxWidgets-2.9.0&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' You do not need MSYS. Furthermore, you cannot have MSYS in your path, or the wxWidgets compilation will fail. Thus, if you have MSYS installed, ensure that ''&amp;lt;MSYS&amp;gt;\bin'' '''is not''' in your path before compiling wxWidgets. wxWidgets must be compiled from a &amp;quot;regular&amp;quot; command line (like cmd.exe), not from a Unix-like shell. The same problem could arise if Cygwin is in the path.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For the remainder of these instructions we call the MinGW directory ''&amp;lt;MINGW&amp;gt;''. You have to change it to your corresponding directory (e.g. &amp;quot;C:\MinGW&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Checking make Version ==&lt;br /&gt;
If you didn't install MinGW yourself you have to ensure you are using a recent enough version of the make utility. Open a command prompt and type:&lt;br /&gt;
 &amp;lt;tt&amp;gt;cd &amp;lt;MINGW&amp;gt;\bin&lt;br /&gt;
 mingw32-make -v&amp;lt;/tt&amp;gt;&lt;br /&gt;
The version should read 3.80 or higher.&lt;br /&gt;
&lt;br /&gt;
== Building wxWidgets ==&lt;br /&gt;
=== Editing the values to be used in wx/setup.h ===&lt;br /&gt;
Note, changing the value of wxUSE_STC prevents error compiling Code::Blocks because it has its own custom version of STC.&lt;br /&gt;
===== Open the folder &amp;lt;WXWIN&amp;gt;\include\wx\msw\ ===== &lt;br /&gt;
===== If the file setup.h does not exist copy the file setup0.h to setup.h =====&lt;br /&gt;
===== With an text editor open &amp;lt;WXWIN&amp;gt;\include\wx\msw\setup.h =====&lt;br /&gt;
===== Change &amp;quot;#define wxUSE_STC 1&amp;quot; to &amp;quot;#define wxUSE_STC 0&amp;quot; =====&lt;br /&gt;
===== Save the changes =====&lt;br /&gt;
&lt;br /&gt;
=== Changing Directory and Setting Path ===&lt;br /&gt;
To compile wxWidgets, open the command prompt window and change to the wxWidgets directory:&lt;br /&gt;
 &amp;lt;tt&amp;gt;cd /d &amp;lt;WXWIN&amp;gt;\build\msw&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;SET PATH=&amp;lt;MINGW&amp;gt;\bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
'''NOTE:''' This is normally SET PATH=C:\MingGW\bin&lt;br /&gt;
&lt;br /&gt;
=== Cleaning wxWidgets Code ===&lt;br /&gt;
Now clean up the source:&lt;br /&gt;
 &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 USE_STC=0 USE_PROPGRID=1 BUILD=release clean&amp;lt;/tt&amp;gt;&lt;br /&gt;
'''NOTE:''' Make sure you use exactly the same options for this step and for the build step below. The clean target uses these variables and only cleans the specified version of the generated object and library files. (It will not clean the intended files if these variables are not identical.)&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you still have problems with compiling after cleaning, you could try to manually remove the gcc_msw directory under the build\msw directory. This directory is the place where the object files are stored.&lt;br /&gt;
&lt;br /&gt;
=== Building wxWidgets Code ===&lt;br /&gt;
When everything is clean you can start compiling wxWidgets:&lt;br /&gt;
 &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 USE_STC=0 USE_PROPGRID=1 BUILD=release&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' These options are not the officially-supported Code::Blocks options because there is no official options for wxWidgets 2.9. The option of &amp;quot;USE_STC=0&amp;quot; is needed because Code::Blocks has its own customized version of it; and, if both exists it will cause errors building Code::Blocks plugins. The option &amp;quot;USE_PROPGRID=1&amp;quot; is used to help building plugins that depend on wxPropertyGrid. If you want another version of wxWidgets (debug or non-Unicode) you still have to make sure you build a MONOLITHIC version (one big DLL) for linking Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
Patience. This step takes time. Make sure there was no compilation error before you continue.&lt;br /&gt;
&lt;br /&gt;
== Compiling Code::Blocks ==&lt;br /&gt;
=== Patching Code::Blocks to using 2.9 instead of 2.8 ===&lt;br /&gt;
No patches are needed to compile Code::Blocks with wxWidgets 2.9 .&lt;br /&gt;
&lt;br /&gt;
That does not mean, that everything runs absolutely bug-free, but we are working on it.&lt;br /&gt;
&lt;br /&gt;
As always patches are welcome.&lt;br /&gt;
&lt;br /&gt;
=== Setting up paths ===&lt;br /&gt;
Before finally compiling Code::Blocks itself, you need to setup the paths:&lt;br /&gt;
*Open the Code::Blocks project (CodeBlocks.cbp).&lt;br /&gt;
*It will ask you to define a [[Global compiler variables|Global variable]]&lt;br /&gt;
*Set the path to where you have wxWidgets installed (e.g. &amp;quot;c:\wxMSW-2.9.0\wxWidgets-2.9.0&amp;quot;).&lt;br /&gt;
*Compile Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
=== Post compilation steps ===&lt;br /&gt;
When the compilation process is finished, simply run the update.bat script. It will ensure that all resource files Code::Blocks uses are in the right place and up to date.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=7041</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=7041"/>
		<updated>2011-12-04T12:02:06Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Code::Blocks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries of Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
For debian you find packages on [http://apt.jenslody.de/ my server].&lt;br /&gt;
&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources change directory to the root of the sources and configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows with wxWidgets dll's compiled on MS Windows, so I prefer using the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Compiler Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' for statically linked executables or you have to make sure the appropriate dll's exist on the target system.&amp;lt;br /&amp;gt;&lt;br /&gt;
In any case the needed dll's have to be in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
I think the most secure way is to ditribute them in the executables directory to make sure they don't interfere with existing wxWidgets dll's.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to use dll's build on windows together with a cross-compiled executable. Because of that I prefer a statically linked program that only needs '''mingwm10.dll'''. By doing so I avoid runtime errors.&lt;br /&gt;
&lt;br /&gt;
'''mingwm10.dll''' is part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=7040</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=7040"/>
		<updated>2011-12-04T11:58:49Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* wxWidgets cross-build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources change directory to the root of the sources and configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows with wxWidgets dll's compiled on MS Windows, so I prefer using the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Compiler Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' for statically linked executables or you have to make sure the appropriate dll's exist on the target system.&amp;lt;br /&amp;gt;&lt;br /&gt;
In any case the needed dll's have to be in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
I think the most secure way is to ditribute them in the executables directory to make sure they don't interfere with existing wxWidgets dll's.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to use dll's build on windows together with a cross-compiled executable. Because of that I prefer a statically linked program that only needs '''mingwm10.dll'''. By doing so I avoid runtime errors.&lt;br /&gt;
&lt;br /&gt;
'''mingwm10.dll''' is part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User:Jens&amp;diff=6896</id>
		<title>User:Jens</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User:Jens&amp;diff=6896"/>
		<updated>2011-09-28T07:02:21Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Real Name: Jens Lody&lt;br /&gt;
*Location: Germany&lt;br /&gt;
*Nightly (and Release) Builds for debian '''i386''' and '''amd64''', wxWidgets cross-build libraries for [http://www.debian.org/ debian]&lt;br /&gt;
*Homepage: [http://apt.jenslody.de/ Jens' (un-)official debian-repository for Code::Blocks]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Version_control&amp;diff=6689</id>
		<title>Version control</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Version_control&amp;diff=6689"/>
		<updated>2011-08-15T17:06:30Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Merging from trunk to a branch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
==== Merging from trunk to a branch ====&lt;br /&gt;
&lt;br /&gt;
Merging from trunk to a branch is done with the following commands:&lt;br /&gt;
&lt;br /&gt;
    cd [path/to/my/branch/copy]&lt;br /&gt;
    make sure it is clean and up to date&lt;br /&gt;
    run: svn merge -r [first revision to be merged]:[last revision to be merged] svn+ssh://yourlogin@svn.berlios.de/svnroot/repos/codeblocks/trunk . (note the trailing dot [with a blank before it])&lt;br /&gt;
    commit changes with comment &amp;quot;* my_branch: merged with trunk (trunk to my_branch)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first revision to be merged is normally the revision of the last merge, the last revision to be merged is normally HEAD, the url has to be fixed to fit your needs.&lt;br /&gt;
Instead of the url you can use the root-folder of your working-copy of trunk.&lt;br /&gt;
Instead of the trailing dot you can use the path to your working copy of the my-branch (if you are not inside its root-folder).&lt;br /&gt;
To see what will be merged (instead of really doing it), you can use &amp;quot;--dry-run&amp;quot; as for many other svn commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Important note:'''&lt;br /&gt;
&lt;br /&gt;
Never mix changes from a merge with pending changes from the branch. This will result in an immediate loss of the ability to do a SVN re-integrate merge as SVN will never be able to resolve the changes.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Version_control&amp;diff=6688</id>
		<title>Version control</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Version_control&amp;diff=6688"/>
		<updated>2011-08-15T13:40:18Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Merging from trunk to a branch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
&lt;br /&gt;
==== Merging from trunk to a branch ====&lt;br /&gt;
&lt;br /&gt;
Merging from trunk to a branch is done with the following commands:&lt;br /&gt;
&lt;br /&gt;
    cd [path/to/my/branch/copy]&lt;br /&gt;
    make sure it is clean and up to date&lt;br /&gt;
    run: svn merge -r [first revision to be merged]:[last revision to be merged] svn+ssh://yourlogin@svn.berlios.de/svnroot/repos/codeblocks/trunk . (note the trailing dot [with a blank before it])&lt;br /&gt;
    commit changes with comment &amp;quot;* my_branch: merged with trunk (trunk to my_branch)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first revision to be merged is normally the revision of the last merge, the last revision to be merged is normally HEAD, the url has to be fixed to fit your needs.&lt;br /&gt;
Instead of the url you can use the root-folder of your working-copy of trunk.&lt;br /&gt;
Instead of the trailing dot you can use the path to your working copy of the my-branch (if you are not inside its root-folder).&lt;br /&gt;
To see what will be merged (instead of really doing it), you can use &amp;quot;--dry-run&amp;quot; as for many other svn commands.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef&amp;diff=6413</id>
		<title>WxWindowsQuickRef</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef&amp;diff=6413"/>
		<updated>2010-08-26T05:24:53Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
'''''A beginner's quick reference for setting up wxWidgets with Code::Blocks in Windows'''''&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:smaller&amp;quot;&amp;gt;Supported compilers: MinGW or MSVC&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://shiningray.cn/windows-shang-pei-zhi-codeblocks-wxwidgets.html Chinese Translation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Important Requirements:'''&lt;br /&gt;
* '''Recent version of Code::Blocks''' - You need to have successfully installed and run a recent version of Code::Blocks -- either [https://www.codeblocks.org/downloads/26 the 10.05 release] or [/index.php/board,20.0.html a recent nightly build].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Troyf, please see the Discussion page for this article for some objections to your changes here. --&amp;gt;&lt;br /&gt;
* '''Windows compiler''' - You need to have correctly installed one of three options&lt;br /&gt;
**[http://www.mingw.org/ MinGW/GCC] free compiler, gcc-core, gcc-g++, binutils, w32api, and mingw32-make packages are required, or&lt;br /&gt;
**[http://msdn.microsoft.com/vstudio/ Microsoft's compilers] (the [http://msdn.microsoft.com/vstudio/express/ Express editions] are free, but you must also install the [http://www.microsoft.com/downloads/details.aspx?familyid=0baf2b35-c656-4969-ace8-e4c0c0716adb Platform SDK]), or&lt;br /&gt;
**[https://www.codeblocks.org/downloads/5#windows latest stable release of Code::Blocks] includes a MinGW-bundled compiler which includes all necessary packages &lt;br /&gt;
&lt;br /&gt;
* '''Path properly defined.'''&lt;br /&gt;
** Ensure that the folder containing the compiler executables (typically C:\Program Files\CodeBlocks\bin) is in your [http://vlaurie.com/computers2/Articles/environment.htm#editing Windows PATH environment variable]. The path environment variable is changed by &lt;br /&gt;
***right-clicking on 'my computer', &lt;br /&gt;
***selecting properties, &lt;br /&gt;
***click the advanced tab, &lt;br /&gt;
***click the 'Environment Variables' button at the bottom.&lt;br /&gt;
&lt;br /&gt;
To verify the path is set correctly, open a DOS prompt and enter the command: mingw32-gcc, a reply of 'Not recognized' indicates a problem. 'no input files' means that the program was found and that the path environment variable is correct. For example...&lt;br /&gt;
&lt;br /&gt;
 Microsoft Windows XP [Version 5.1.2600]&lt;br /&gt;
 (C) Copyright 1985-2001 Microsoft Corp.&lt;br /&gt;
 C:\&amp;gt;mingw32-gcc&lt;br /&gt;
 mingw32-gcc: no input files&lt;br /&gt;
 C:\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download wxWidgets ==&lt;br /&gt;
You can choose to download the wxWidgets source code and compile it yourself, or download the &amp;quot;wxPack&amp;quot;, a precompiled version.&lt;br /&gt;
* '''The wxWidgets sources''' are a much smaller download, but you must also spend some time compiling them.&lt;br /&gt;
* '''wxPack''' is a much larger download, but you don't have to spend time compiling it or worry about build options.&lt;br /&gt;
&lt;br /&gt;
=== wxWidgets Sources ===&lt;br /&gt;
The current recommended version of wxWidgets to use is '''2.8.10'''. [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.10-Setup.exe Click here to download the wxWidgets 2.8.10 sources for Windows] (wxMSW-2.8.10-Setup.exe; 12.2 MB). You can check [http://www.wxwidgets.org/downloads/ the wxWidgets download page] to see if a newer stable version is available. '''It is highly recommended that you install the sources to a path without spaces.''' You should choose a volume with at least 300 MB of free space.&lt;br /&gt;
&lt;br /&gt;
=== wxPack ===&lt;br /&gt;
wxPack makes the next step of building wxWidgets unnecessary. The current stable release of wxPack is '''v2.8.8.04''', based on wxWidgets 2.8.8. [http://downloads.sourceforge.net/wxpack/wxPack_v2.8.8.04.exe?download Click here to download wxPack v2.8.8.04] (wxPack_v2.8.8.04.exe, 315.9 MB). You can check [http://wxpack.sourceforge.net/Main/Downloads the wxPack download page] to see if a newer stable version is available. '''It is highly recommended that you install wxPack in a path without spaces.''' You should choose a volume with at least 700 MB of free space for MSVC, or 2.2 GB of free space for MinGW/GCC.&lt;br /&gt;
&lt;br /&gt;
== Build wxWidgets ==&lt;br /&gt;
''This step is unnecessary if you are using '''wxPack''' ''&lt;br /&gt;
&lt;br /&gt;
* Open up a command prompt for building. If you are using MinGW/GCC, simply use the standard Windows command shell (open the Start menu, click &amp;quot;Run...&amp;quot;, enter &amp;quot;cmd&amp;quot; and hit OK). If you are using MSVC, you should use the special command shell which sets up the correct environment variables for you. If you use a version of MSVC which required you to download the Platform SDK separately, ensure that whichever command environment you use includes the Platform SDK tools and paths as well as the standard compiler tools and paths.&lt;br /&gt;
* Change to the wxWidgets build directory (where &amp;lt;wxWidgets&amp;gt; is the path you extracted the sources to; typically C:\wxWidgets-2.8.9):&lt;br /&gt;
 cd &amp;lt;wxWidgets&amp;gt;\build\msw&lt;br /&gt;
* Execute the build command. The recommended command to use for '''MinGW/GCC''' is:&lt;br /&gt;
 mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1&lt;br /&gt;
* The recommended command to use for '''MSVC''' is:&lt;br /&gt;
 nmake -f makefile.vc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1&lt;br /&gt;
* This step will generally take a long time; faster PCs may expect 30-minute build times, and slower PCs can take as much as several hours.&lt;br /&gt;
* If using more recent versions of GCC, many warnings will occur during the build. This can slow the build process noticeably; you may want to redirect the warnings to a text file by appending &amp;quot;2&amp;gt;errlog.txt&amp;quot; to the build command, or supress them entirely by appending &amp;quot;2&amp;gt;nul&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
See the section below titled &amp;quot;wxWidgets build options explained&amp;quot; for details on the meaning of the BUILD, SHARED, MONOLITHIC, and UNICODE options. These options are critically important, because they define the basic wxWidgets development environment you will be using. You must duplicate them exactly when running Code::Blocks' wxWidgets project wizard.&lt;br /&gt;
&lt;br /&gt;
== Create a wxWidgets project in Code::Blocks ==&lt;br /&gt;
* On the Code::Blocks Start Page, select &amp;quot;Create a new project&amp;quot;; alternatively, open the File menu, highlight &amp;quot;New&amp;quot; and select &amp;quot;Project...&amp;quot;&lt;br /&gt;
* Select &amp;quot;wxWidgets project&amp;quot;&lt;br /&gt;
# The first page is an introduction, which you can choose to skip in the future.&lt;br /&gt;
# Select which version of wxWidgets you will be using. If you followed the instructions above, you should select &amp;quot;wxWidgets 2.8.x&amp;quot;.&lt;br /&gt;
# Set your project title and location.&lt;br /&gt;
# Enter author details if you wish (not required).&lt;br /&gt;
# Select options for automatic code and file generation.&lt;br /&gt;
# Select wxWidgets' location. It's highly recommended that you use a global variable for this: enter &amp;quot;$(#wx)&amp;quot; (without quotes). If you haven't already defined this global variable, the global variables dialog will appear; for the base path, select your wxWidgets installation location. You don't need to fill in the other paths.&lt;br /&gt;
# Select debug and/or release configurations for your project. The debug configuration at least is recommended.&lt;br /&gt;
# Choose your wxWidgets build options. '''These must match the options used when you built wxWidgets!''' If you followed the directions above, select all three of the options under &amp;quot;wxWidgets Library Settings&amp;quot;. '''If you are using wxPack:''' wxPack includes each version, so you may select whichever options you prefer. The other settings on this page are not related to the wxWidgets build options; you may use them or not as you prefer. In order to avoid using a debug wxWidgets build (as recommended), you must select &amp;quot;Configure Advanced options&amp;quot; and then leave &amp;quot;Use __WXDEBUG__ and Debug wxWidgets lib&amp;quot; unchecked on the next page.&lt;br /&gt;
# Select additional libraries if required. You should not need to select any of these for normal usage.&lt;br /&gt;
&lt;br /&gt;
== Build and Run ==&lt;br /&gt;
Select &amp;quot;Build and run&amp;quot; (F9) to, well, build and run. If all goes well, your wxWidgets basic program should appear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== wxWidgets Build Options Explained ==&lt;br /&gt;
''What do the BUILD, SHARED, MONOLITHIC, and UNICODE options mean?''&lt;br /&gt;
&lt;br /&gt;
=== BUILD ===&lt;br /&gt;
BUILD controls whether a debug version (BUILD=debug) or release version (BUILD=release) of wxWidgets itself is built. In the vast majority of cases you will only need a release version of wxWidgets, since you won't be interesting in debugging wxWidgets itself. You can still create debug builds of your own programs that link to a release build of wxWidgets.&lt;br /&gt;
* A '''debug''' build of wxWidgets creates libraries with a &amp;quot;d&amp;quot; suffix -- for example, &amp;quot;libwxmsw28d.a&amp;quot;/&amp;quot;wxmsw28d_gcc_custom.dll&amp;quot;.&lt;br /&gt;
* A '''debug''' build of wxWidgets creates the folder &amp;quot;mswd&amp;quot; or &amp;quot;mswud&amp;quot; in the wxWidgets library output folder.&lt;br /&gt;
* A '''release''' build of wxWidgets creates libraries ''without'' the &amp;quot;d&amp;quot; suffix -- for example, &amp;quot;libwxmsw28.a&amp;quot;/&amp;quot;wxmsw28_gcc_custom.dll&amp;quot;.&lt;br /&gt;
* A '''release''' build of wxWidgets creates the folder &amp;quot;msw&amp;quot; or &amp;quot;mswu&amp;quot; in the wxWidgets library output folder.&lt;br /&gt;
&lt;br /&gt;
=== SHARED ===&lt;br /&gt;
SHARED controls whether a DLL (SHARED=1) or static (SHARED=0) version of wxWidgets is built. With a DLL build, compile times are faster and the executable size is smaller. The total size of a single executable plus the wxWidgets DLL is greater, but multiple executables can use the same DLL.&lt;br /&gt;
* A '''DLL''' build of wxWidgets creates import libraries (such as libwxmsw28.a) and DLLs (such as wxmsw28_gcc_custom.dll). You must include the DLL when you distribute your program.&lt;br /&gt;
* A '''static''' build of wxWidgets creates static libraries only (such as libwxmsw28.a), and you do not need to distribute a wxWidgets DLL.&lt;br /&gt;
&lt;br /&gt;
=== MONOLITHIC ===&lt;br /&gt;
MONOLITHIC controls whether a single library (MONOLITHIC=1) or multiple component libraries (MONOLITHIC=0) are built. With a monolithic build, project setup and development are much easier, and you only have one DLL to distribute if you're using a DLL build. With a non-monolithic (multilib) build, several different libraries are built and you can avoid linking with the entire wxWidgets codebase for programs that don't need it. You do have to ensure that you choose the correct component libraries.&lt;br /&gt;
* A '''monolithic''' build of wxWidgets creates a single wxWidgets import library (such as libwxmsw28.a) and a single DLL (such as wxmsw28_gcc_custom.dll).&lt;br /&gt;
* A '''multilib''' build of wxWidgets creates multiple import libraries (libwx28_base.a, etc.) and multiple DLLs.&lt;br /&gt;
* Additional '''static''' libraries are always created with any wxWidgets build (libwxexpat.a, libwxjpeg.a, etc.). These libraries do not normally need to be used with DLL builds of wxWidgets, but they are required when using static builds.&lt;br /&gt;
&lt;br /&gt;
=== UNICODE ===&lt;br /&gt;
UNICODE controls whether wxWidgets and your program use wide-character strings with Unicode support. Most programs for Windows 2000 and later should do so. Earlier versions of Windows don't have the necessary Unicode support. You should always use wxWidget's _(&amp;quot;string&amp;quot;) and _T(&amp;quot;string&amp;quot;) macros to ensure that your hardcoded strings are the correct type.&lt;br /&gt;
* A '''Unicode''' (UNICODE=1) build of wxWidgets creates libraries with a &amp;quot;u&amp;quot; suffix -- for example, &amp;quot;libwxmsw28u.a&amp;quot;/&amp;quot;wxmsw28u_gcc_custom.dll&amp;quot;.&lt;br /&gt;
* A '''Unicode''' build of wxWidgets creates the folder &amp;quot;mswu&amp;quot; or &amp;quot;mswud&amp;quot; in the wxWidgets library output folder.&lt;br /&gt;
* An '''ANSI''' (UNICODE=0) build of wxWidgets creates libraries ''without'' the &amp;quot;u&amp;quot; suffix -- for example, &amp;quot;libwxmsw28.a&amp;quot;/&amp;quot;wxmsw28_gcc_custom.dll&amp;quot;.&lt;br /&gt;
* An '''ANSI''' build of wxWidgets creates the folder &amp;quot;msw&amp;quot; or &amp;quot;mswd&amp;quot; in the wxWidgets library output folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''I get errors like &amp;quot;wx/setup.h: No such file or directory&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
You're missing an important compiler search path in your build options. Make sure you choose the correct wxWidgets build configuration when running the wxWidgets project wizard. If re-running the wizard isn't an option, then open your project's build options and add &amp;quot;$(#wx.lib)\gcc_dll\mswu&amp;quot; (assuming a &amp;lt;u&amp;gt;monolithic Unicode DLL&amp;lt;/u&amp;gt; build) to the compiler search paths.&lt;br /&gt;
&lt;br /&gt;
'''I get errors like &amp;quot;cannot find -lwxmsw28u&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
You have an incorrect link library in your build options. Make sure you choose the correct wxWidgets build configuration when running the wxWidgets project wizard. If re-running the wizard isn't an option, determine which version of the library is built and adjust the library name in your build options accordingly.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Compiled_packages_of_Code::Blocks&amp;diff=6316</id>
		<title>Compiled packages of Code::Blocks</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Compiled_packages_of_Code::Blocks&amp;diff=6316"/>
		<updated>2010-05-02T22:36:38Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* SVN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Stable Releases ==&lt;br /&gt;
&lt;br /&gt;
=== 8.02 ===&lt;br /&gt;
&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:Operating_System|OS]]&lt;br /&gt;
! Version&lt;br /&gt;
! Architecture&lt;br /&gt;
! Package Type&lt;br /&gt;
! Remarks&lt;br /&gt;
! Download&lt;br /&gt;
! Installation Guide&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; | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]&lt;br /&gt;
| 2000/XP/Vista&lt;br /&gt;
| x86&lt;br /&gt;
| Binary&lt;br /&gt;
| With contrib plugins&lt;br /&gt;
| [http://downloads.sourceforge.net/codeblocks/codeblocks-8.02-setup.exe Download]&lt;br /&gt;
|&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; | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]&lt;br /&gt;
| 2000/XP/Vista&lt;br /&gt;
| x86&lt;br /&gt;
| Binary Ansi&lt;br /&gt;
| With contrib plugins - With MinGW bundled&lt;br /&gt;
| [http://downloads.sourceforge.net/codeblocks/codeblocks-8.02mingw-setup.exe Download]&lt;br /&gt;
|&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; | [[Image:Debian-logo_32.png]] [[wikipedia:Debian|Debian]]&lt;br /&gt;
| &lt;br /&gt;
| i386&lt;br /&gt;
| Binary&lt;br /&gt;
|   &lt;br /&gt;
| [http://prdownload.berlios.de/codeblocks/codeblocks-8.02debian-i386.tar.gz Download]&lt;br /&gt;
|&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; | [[Image:Debian-logo_32.png]] [[wikipedia:Debian|Debian]]&lt;br /&gt;
| &lt;br /&gt;
| AMD64&lt;br /&gt;
| Binary&lt;br /&gt;
|   &lt;br /&gt;
| [http://prdownload.berlios.de/codeblocks/codeblocks-8.02debian-amd64.tar.gz Download]&lt;br /&gt;
|&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; | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]&lt;br /&gt;
| 7.10 Gutsy&lt;br /&gt;
| x86&lt;br /&gt;
| Binary&lt;br /&gt;
| &lt;br /&gt;
| [http://prdownload.berlios.de/codeblocks/codeblocks_8.02-0ubuntu1.deb.tar.gz Download]&lt;br /&gt;
| &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; | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]&lt;br /&gt;
| 7.10 Gutsy&lt;br /&gt;
| AMD64&lt;br /&gt;
| Binary&lt;br /&gt;
| &lt;br /&gt;
| [http://prdownload.berlios.de/codeblocks/codeblocks-8.02-amd64.tar.gz Download]&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: solid 1px gray;&amp;quot;&lt;br /&gt;
! [[wikipedia:Operating_System|OS]]&lt;br /&gt;
! OS Version&lt;br /&gt;
! Architecture&lt;br /&gt;
! Package Type&lt;br /&gt;
! Remarks&lt;br /&gt;
! Download&lt;br /&gt;
! Installation Guide&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1.0 RC2 ===&lt;br /&gt;
&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:Operating_System|OS]]&lt;br /&gt;
! Version&lt;br /&gt;
! Architecture&lt;br /&gt;
! Package Type&lt;br /&gt;
! Remarks&lt;br /&gt;
! Download&lt;br /&gt;
! Installation Guide&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; | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]&lt;br /&gt;
| 98/NT/Me/2000/XP&lt;br /&gt;
| x86&lt;br /&gt;
| Binary Ansi&lt;br /&gt;
| With contrib plugins&lt;br /&gt;
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2.exe?download Download]&lt;br /&gt;
|&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; | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]&lt;br /&gt;
| 98/NT/Me/2000/XP&lt;br /&gt;
| x86&lt;br /&gt;
| Binary Ansi&lt;br /&gt;
| With contrib plugins - With MinGW bundled&lt;br /&gt;
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download Download]&lt;br /&gt;
|&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; | [[Image:Debian-logo_32.png]] [[wikipedia:Debian|Debian]]&lt;br /&gt;
| Sid&lt;br /&gt;
| i386&lt;br /&gt;
| Binary&lt;br /&gt;
| No longer supported by the previous package author.  &lt;br /&gt;
|&lt;br /&gt;
|&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; | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]&lt;br /&gt;
| 5.10 Breezy&lt;br /&gt;
| x86&lt;br /&gt;
| Binary&lt;br /&gt;
| No longer supported by the previous package author.&lt;br /&gt;
| &lt;br /&gt;
| &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; | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]&lt;br /&gt;
| 2005.1&lt;br /&gt;
| x86/AMD64&lt;br /&gt;
| Ebuild&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| [http://bugs.gentoo.org/attachment.cgi?id=72819 Download]&lt;br /&gt;
| &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; | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]&lt;br /&gt;
| 2005.1&lt;br /&gt;
| x86/AMD64&lt;br /&gt;
| Patch&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| [http://bugs.gentoo.org/attachment.cgi?id=72820 Download]&lt;br /&gt;
| &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; | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]&lt;br /&gt;
| Fedora Core 3&lt;br /&gt;
| i386&lt;br /&gt;
| Binary&lt;br /&gt;
| SRPMS compatible with wxGTK-2.4 is also [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.src.rpm available].&lt;br /&gt;
| [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.fc3.i386.rpm Download]&lt;br /&gt;
| Requires wxGTK-2.4 ([http://dag.wieers.com/packages/wxGTK/ Dag repository])&lt;br /&gt;
| &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; | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]&lt;br /&gt;
| Fedora Core 4&lt;br /&gt;
| i386&lt;br /&gt;
| Binary&lt;br /&gt;
| not available any more&lt;br /&gt;
| [http://www.neoinvent.com/cb/codeblocks-1.0-rc2.i386.rpm Download]&lt;br /&gt;
| &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; | [[Image:FreeBSD-logo_32.png]] [[wikipedia:FreeBSD|FreeBSD]]&lt;br /&gt;
| 6.1&lt;br /&gt;
| x86&lt;br /&gt;
| Binary&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| [/index.php?topic=1407.0 Download]&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: solid 1px gray;&amp;quot;&lt;br /&gt;
! [[wikipedia:Operating_System|OS]]&lt;br /&gt;
! OS Version&lt;br /&gt;
! Architecture&lt;br /&gt;
! Package Type&lt;br /&gt;
! Remarks&lt;br /&gt;
! Download&lt;br /&gt;
! Installation Guide&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Development Releases ==&lt;br /&gt;
&lt;br /&gt;
=== SVN ===&lt;br /&gt;
&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:Operating_System|OS]]&lt;br /&gt;
! Version&lt;br /&gt;
! Architecture&lt;br /&gt;
! Package Type&lt;br /&gt;
! Remarks&lt;br /&gt;
! Download&lt;br /&gt;
! Installation Guide&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; | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]&lt;br /&gt;
| 98/NT/Me/2000/XP&lt;br /&gt;
| x86&lt;br /&gt;
| Binary&lt;br /&gt;
| With contrib plugins&lt;br /&gt;
| [/index.php?board=20.0 Download]&lt;br /&gt;
| [/index.php/topic,3232.0.html How night build version works]&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; | [[Image:Debian-logo_32.png]] [[wikipedia:Debian|Debian]]&lt;br /&gt;
| stable,testing, unstable&lt;br /&gt;
| i386 and amd64&lt;br /&gt;
| Binary and sources&lt;br /&gt;
| With contrib plugins and doc-packages; APT-repository&lt;br /&gt;
| [http://apt.jenslody.de/pool/main/c/codeblocks/ Download]&lt;br /&gt;
| http://apt.jenslody.de/&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; | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]&lt;br /&gt;
| 5.10 Breezy&lt;br /&gt;
| x86&lt;br /&gt;
| Binary&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| [/index.php?board=20.0 Download]&lt;br /&gt;
| &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; | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:SUSE_Linux|openSUSE]]&lt;br /&gt;
| &lt;br /&gt;
| i586 &amp;amp; x86_64&lt;br /&gt;
| Binary&lt;br /&gt;
| With contrib plugins&lt;br /&gt;
| [http://download.opensuse.org/repositories/devel:/tools:/ide/ Download]&lt;br /&gt;
| http://en.opensuse.org/Build_Service/User&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; | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]&lt;br /&gt;
| 10.2&lt;br /&gt;
| i686&lt;br /&gt;
| Binary&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| [http://www.icpnet.pl/~groman/cb-slack/ Download]&lt;br /&gt;
| &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; | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]&lt;br /&gt;
| 10.2&lt;br /&gt;
| athlon-xp&lt;br /&gt;
| Binary&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
| [http://www.icpnet.pl/~groman/cb-slack/ Download]&lt;br /&gt;
| &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; | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_OS_X|Mac OS X]]&lt;br /&gt;
| 10.3 Panther&lt;br /&gt;
| PPC&lt;br /&gt;
| Binary&lt;br /&gt;
| ?&lt;br /&gt;
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]&lt;br /&gt;
| Bundled with wxMac 2.6 inside the app bundle&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; | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_OS_X|Mac OS X]]&lt;br /&gt;
| 10.4 Tiger&lt;br /&gt;
| PPC/X86&lt;br /&gt;
| Binary&lt;br /&gt;
| ?&lt;br /&gt;
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]&lt;br /&gt;
| Bundled with wxMac 2.6 inside the app bundle&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&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; | [[Image:Mac-logo-alt.png]] [http://www.macports.org/ MacPorts]&lt;br /&gt;
| Darwin&lt;br /&gt;
| PPC/X86&lt;br /&gt;
| Source&lt;br /&gt;
| ?&lt;br /&gt;
| &lt;br /&gt;
| [[Installing Code::Blocks from source on Mac OS X]]&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; | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]&lt;br /&gt;
| &lt;br /&gt;
| i386 &amp;amp; x86_64&lt;br /&gt;
| Binary&lt;br /&gt;
| With contrib plugins&lt;br /&gt;
| [http://download.opensuse.org/repositories/devel:/tools:/ide/ Download]&lt;br /&gt;
| http://en.opensuse.org/Build_Service/User&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; | [[wikipedia:Mandriva_Linux|Mandriva]]&lt;br /&gt;
| &lt;br /&gt;
| i586 &amp;amp; x86_64&lt;br /&gt;
| Binary&lt;br /&gt;
| With contrib plugins&lt;br /&gt;
| [http://download.opensuse.org/repositories/devel:/tools:/ide/ Download]&lt;br /&gt;
| http://en.opensuse.org/Build_Service/User&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; | [[Image:CentOS-logo_32.png]] [[wikipedia:CentOS|CentOS]]&lt;br /&gt;
| CentOS 3/4&lt;br /&gt;
| i686&lt;br /&gt;
| Source&lt;br /&gt;
| ?&lt;br /&gt;
|&lt;br /&gt;
| [[Installing_Code::Blocks_from_source_on_RPM_based_distributions]]&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; | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]&lt;br /&gt;
| Gentoo&lt;br /&gt;
| x86/AMD64&lt;br /&gt;
| Portage Overlay&lt;br /&gt;
| With contrib plugins by &amp;quot;contrib&amp;quot; useflag&lt;br /&gt;
| [http://www.savefile.com/projects/808517256 Download]&lt;br /&gt;
| [http://forums.gentoo.org/viewtopic-t-588089-highlight-codeblocks+svn.html Forum Guide New]&lt;br /&gt;
:  [http://forums.gentoo.org/viewtopic-t-440412.html Forum Guide by retired Gentoo developer] [[Compiling_Code::Blocks_in_Gentoo]]&lt;br /&gt;
|- style=&amp;quot;border: solid 1px gray;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; border: solid 1px gray;&amp;quot;&lt;br /&gt;
! [[wikipedia:Operating_System|OS]]&lt;br /&gt;
! OS Version&lt;br /&gt;
! Architecture&lt;br /&gt;
! Package Type&lt;br /&gt;
! Remarks&lt;br /&gt;
! Download&lt;br /&gt;
! Installation Guide&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=6290</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=6290"/>
		<updated>2010-02-19T16:26:46Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Fixing build options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows with wxWidgets dll's compiled on MS Windows, so I prefer using the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Compiler Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' for statically linked executables or you have to make sure the appropriate dll's exist on the target system.&amp;lt;br /&amp;gt;&lt;br /&gt;
In any case the needed dll's have to be in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
I think the most secure way is to ditribute them in the executables directory to make sure they don't interfere with existing wxWidgets dll's.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to use dll's build on windows together with a cross-compiled executable. Because of that I prefer a statically linked program that only needs '''mingwm10.dll'''. By doing so I avoid runtime errors.&lt;br /&gt;
&lt;br /&gt;
'''mingwm10.dll''' is part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks&amp;diff=5950</id>
		<title>Installing Code::Blocks</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks&amp;diff=5950"/>
		<updated>2009-06-07T12:50:38Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Debian */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installing Code::Blocks]]&lt;br /&gt;
&lt;br /&gt;
[[Compiled packages of Code::Blocks]]&lt;br /&gt;
&lt;br /&gt;
== MS Windows ==&lt;br /&gt;
&lt;br /&gt;
* [[Installing the latest official version of Code::Blocks on Windows]]&lt;br /&gt;
* [[Installing Code::Blocks nightly build on Windows]]&lt;br /&gt;
* [[Installing Code::Blocks from source on Windows]]&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
* [[Installing Code::Blocks from source on Linux]] (applies to all distros)&lt;br /&gt;
* [[Installing Code::Blocks before SVN 3893 from source on Linux]] (applies to all distros)&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
:* [[Installing Code::Blocks nightly build on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
:* [http://apt.jenslody.de/ Installing Code::Blocks nightly build on Debian]&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
&lt;br /&gt;
:* [[Installing Code::Blocks nightly build on Fedora]]&lt;br /&gt;
&lt;br /&gt;
=== Blag ===&lt;br /&gt;
&lt;br /&gt;
:* [[Installing Code::Blocks nightly build on Blag]]&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
&lt;br /&gt;
:* [[Installing Code::Blocks from source on Gentoo]]&lt;br /&gt;
&lt;br /&gt;
=== RPM based distributions ===&lt;br /&gt;
&lt;br /&gt;
Such as: Red Hat Linux, Yellow Dog Linux, Fedora Core, CentOS, etc. etc.&lt;br /&gt;
&lt;br /&gt;
:* [[Installing Code::Blocks nightly build on RPM based distributions]]&lt;br /&gt;
:* [[Installing Code::Blocks from source on RPM based distributions]]&lt;br /&gt;
&lt;br /&gt;
== BSD ==&lt;br /&gt;
&lt;br /&gt;
=== FreeBSD ===&lt;br /&gt;
&lt;br /&gt;
:* [[Installing Code::Blocks from source on FreeBSD]]&lt;br /&gt;
&lt;br /&gt;
== Solaris ==&lt;br /&gt;
&lt;br /&gt;
* [[Installing Code::Blocks from source on Solaris]]&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
* [[Installing Code::Blocks nightly build on Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
* [[Installing Code::Blocks from source on Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
==Working on Code::Blocks sources from within Code::Blocks!==&lt;br /&gt;
&lt;br /&gt;
The following applies for all platforms where you have Code::Blocks installed and working.&lt;br /&gt;
&lt;br /&gt;
After correct install of Code::Blocks you will find two folders under .../trunc/scr , a directory named &amp;quot;devel&amp;quot; and another one named &amp;quot;output&amp;quot;.&lt;br /&gt;
These two folders will contain the same files and directory structure and you can use the IDE from either of these two directories. This structure has been created so that you can work in Code::Blocks while editing Code::Blocks' sources ;).&lt;br /&gt;
Basically, you 'll be using the &amp;quot;output/CodeBlocks.exe&amp;quot; executable. Code::Blocks' project settings are such that all output goes under &amp;quot;devel&amp;quot;. So you can edit Code::Blocks' sources inside Code::Blocks and, when pressing &amp;quot;Run&amp;quot;, it will run the &amp;quot;devel/CodeBlocks.exe&amp;quot; executable ;). This way, you can't ruin the main executable you 're using (under &amp;quot;output&amp;quot;). When your changes satisfy you and all works well, quit Code::Blocks, run &amp;quot;make update&amp;quot; from command line and re-launch &amp;quot;output/CodeBlocks.exe&amp;quot;. You 'll be working on your brand new IDE!&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Scripting_commands&amp;diff=5833</id>
		<title>Scripting commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Scripting_commands&amp;diff=5833"/>
		<updated>2009-02-22T14:45:04Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* CompileOptionsBase */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Scripting Code::Blocks]]&lt;br /&gt;
Scripting is no good if all you can do is use the scripting language's built-in commands only. The host application (Code::Blocks) needs to expose parts of its internals to scripts, so scripts can use and control the host.&lt;br /&gt;
&lt;br /&gt;
Code::Blocks has exposed a very large chunk of its SDK to scripts. This makes scripting in Code::Blocks nearly as powerful as native code (C++).&lt;br /&gt;
&lt;br /&gt;
In this page all the exported constants, functions and classes are documented as a quick reference. For detailed documentation on each function/class, refer to the Code::Blocks SDK documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''NOTE: Please remember that [http://www.squirrel-lang.org Squirrel] is typeless. Data types mentioned below are only used for documentation purposes.''&lt;br /&gt;
&lt;br /&gt;
''NOTE: Please keep in mind that if a function has default parameters in C++ (which can be ommitted), you still have to type them for scripts (for e.g. exposed wxWidgets functionality). This means you *have* to use e.g. wxFileName.GetFullPath(wxPATH_NATIVE) instead of e.g only wxFileName.GetFullPath().&lt;br /&gt;
&lt;br /&gt;
== Application object ==&lt;br /&gt;
The application object is accessed through the variable named '''&amp;lt;tt&amp;gt;App&amp;lt;/tt&amp;gt;'''. Currently it has no bound functions...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global functions ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Log || wxString || logs to the application log&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogDebug || wxString || logs to the debug log&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogWarning || wxString || logs a warning&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || LogError || wxString || logs an error&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Message || wxString,wxString,int || arg1=msg, arg2=caption, arg3=buttons; see API docs for cbMessageBox()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowMessage || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowWarning || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowError || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowInfo || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || ReplaceMacros || wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ScriptingManager* || GetScriptingManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectManager* || GetProjectManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EditorManager* || GetEditorManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ConfigManager* || GetConfigManager ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UserVariableManager* || GetUserVariableManager || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CompilerFactory* || GetCompilerFactory ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetArrayFromString ||  wxString,wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetStringFromArray ||  wxArrayString,wxString,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || EscapeSpaces ||  wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || UnixFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| FileType || FileTypeOf || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || URLEncode || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || NotifyMissingFile || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetPlatformsFromString || wxString  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString  || GetStringFromPlatforms || int,bool||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void|| Display || wxString,wxString,int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFolder || int || see API docs for ConfigManager::GetFolder()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || LocateDataFile|| wxString, int || see API docs for ConfigManager::LocateDataFile()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || InstallPlugin || wxString,bool, bool || Install a binary plugin&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Include || wxString || similar to C/C++ ''&amp;lt;tt&amp;gt;#include &amp;quot;name&amp;quot;&amp;lt;/tt&amp;gt;''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsNull || void* ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || _T || const char* || basically this is the wxString constructor&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || wxLaunchDefaultBrowser || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxColour || wxGetColourFromUser || [wxColour] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| long || wxGetNumberFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || wxGetPasswordFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || wxGetTextFromUser || wxString,wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ScriptingManager ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RegisterScriptMenu || wxString, wxString || registers the script file (arg1) under a menu item (arg2).&lt;br /&gt;
e.g. &amp;lt;tt&amp;gt;GetScriptingManager().RegisterScriptMenu(_T(&amp;quot;sample.script&amp;quot;), _T(&amp;quot;Scripts/Sample script&amp;quot;))&amp;lt;/tt&amp;gt;;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes about the &amp;lt;tt&amp;gt;RegisterScriptMenu&amp;lt;/tt&amp;gt; function:&amp;lt;br/&amp;gt;&lt;br /&gt;
* The second argument (menu item) is a string containing the full menu path to create the menu item. The path separator is a slash (/). For example, the string &amp;quot;Settings/Sample menu/Sample item&amp;quot; would create the menu path &amp;quot;Settings-&amp;gt;Sample menu-&amp;gt;Sample item&amp;quot;.&lt;br /&gt;
* When each part of the path is evaluated, it is checked whether it starts with a number followed by a colon (:). If so then this is considered to be a menu index in the parent menu and the menu is inserted at that index instead of being appended to the menu. The number and colon are removed from the string.&lt;br /&gt;
* If the menu item starts with a dash (-), then a separator line is prepended in the menu before the menu item (e.g. &amp;quot;Scripts/'''-'''Sample script&amp;quot;).&lt;br /&gt;
* For your convenience, all menu items created using this function have one extra functionality: if you keep the SHIFT key pressed while clicking on any of these &amp;quot;script menu items&amp;quot;, instead of running the attached script, Code::Blocks will open it in the editor for you to view/edit :).&lt;br /&gt;
* Have a look at the [[Startup script#Example|startup script example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ConfigManager ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Read || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Read || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| float || Read || float,float ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Read || wxString,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || float,float ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Write || wxString,wxString[,bool] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ProjectManager ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultPath || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDefaultPath || (const wxString&amp;amp; path) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetActiveProject || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetProject || (cbProject* project, bool refresh = true) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || LoadWorkspace || (const wxString&amp;amp; filename = DEFAULT_WORKSPACE)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveWorkspace || ( )  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveWorkspaceAs || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseWorkspace || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || IsOpen || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || LoadProject || (const wxString&amp;amp; filename, bool activateIt = true) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveProject || (cbProject* project) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveProjectAs || (cbProject* project) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveProject || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveProjectAs || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAllProjects || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseProject || (cbProject* project, bool dontsave = false, bool refresh = true) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseActiveProject || (bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAllProjects || (bool dontsave = false) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || NewProject || (const wxString&amp;amp; filename = wxEmptyString) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || AddFileToProject || (const wxString&amp;amp; filename, cbProject* project = 0L, int target = -1) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || AskForBuildTargetIndex || (cbProject* project = 0L) || &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RebuildTree || ( ) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || AddProjectDependency || (cbProject* base, cbProject* dependsOn) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveProjectDependency || (cbProject* base, cbProject* doesNotDependOn) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ClearProjectDependencies || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveProjectFromAllDependencies || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectsArray* || GetDependenciesForProject || (cbProject* base) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ConfigureProjectDependencies || (cbProject* base = 0) || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== EditorManager ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Configure || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || New || (const wxString&amp;amp; newFileName = wxEmptyString) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || Open || (const wxString&amp;amp; filename) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || IsBuiltinOpen || (const wxString&amp;amp; filename) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || GetBuiltinEditor || (const wxString&amp;amp; filename)|(int index) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbEditor* || GetBuiltinActiveEditor || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EditorBase* || GetActiveEditor || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ActivateNext || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ActivatePrevious || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SwapActiveHeaderSource || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseActive || (bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Close || (const wxString&amp;amp; filename,bool dontsave = false)|(int index,bool dontsave = false),(EditorBase* editor,bool dontsave = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAll || (bool dontsave=false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save || (const wxString&amp;amp; filename)|(int index)||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActive || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAs || (int index) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveActiveAs || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAll || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || ShowFindDialog || (bool replace,  bool explicitly_find_in_files = false),bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== UserVariableManager ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Exists || (const wxString&amp;amp; variable) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== IO namespace ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || DirectoryExists || (const wxString&amp;amp; dir) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SelectDirectory || (const wxString&amp;amp; message, const wxString&amp;amp; initialPath, bool showCreateDirButton) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''CreateDirectory''' || (const wxString&amp;amp; full_path, int perms) || arg1=dir, arg2=permissions&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RemoveDirectory''' || (const wxString&amp;amp; src) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''CopyFile''' ||(const wxString&amp;amp; src, const wxString&amp;amp; dst, bool overwrite) || src,dest,overwrite&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RenameFile''' || (const wxString&amp;amp; src, const wxString&amp;amp; dst) || old,new&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''RemoveFile''' || (const wxString&amp;amp; src) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || FileExists || (const wxString&amp;amp; file) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SelectFile || (const wxString&amp;amp; title, const wxString&amp;amp; defaultFile, const wxString&amp;amp; filter) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ReadFileContents || (const wxString&amp;amp; filename) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || '''WriteFileContents''' || (const wxString&amp;amp; filename, const wxString&amp;amp; contents) || filename,contents&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || '''Execute''' || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || '''ExecuteAndGetOutput''' || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCwd || ( )  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCwd || (const wxString&amp;amp; dir) || directory (currently working directory)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Notes:'''&lt;br /&gt;
The namespaces are accesses by prepending it's name (e.g. &amp;quot;IO.&amp;quot;) to the scripting function, e.g. &amp;quot;IO.DirectoryExists(...)&amp;quot;. &amp;quot;::&amp;quot; is only used when declaring the members of the namespace.&lt;br /&gt;
The functions in bold are going through the scripts security layer so there is no guarantee calling them will succeed. You should always examine the return value...&lt;br /&gt;
There exists one constant too, named ''allowInsecureScripts'', which allow you to test whether Code::Blocks was compiled with the functions going through the security layer.&lt;br /&gt;
&lt;br /&gt;
== CompilerFactory ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsValidCompilerID || (const wxString&amp;amp; id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetCompilerIndex || (const wxString&amp;amp; id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultCompilerID || ( )  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCompilerVersionString ||  (const wxString&amp;amp; Id) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CompilerInheritsFrom || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== wxString ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator+ ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;lt; ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;lt;= ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;gt;= ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || operator&amp;gt; ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Find || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Matches || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddChar || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| char || GetChar || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsEmpty ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Length ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || length ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || len ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || size ||  || same as Length()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Lower ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || LowerCase ||  || same as Lower()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || MakeLower ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Upper ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || UpperCase ||  || same as Upper()&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || MakeUpper ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Mid || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Remove || int,int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLast ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || Replace || wxString,wxString[,bool] ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Right || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || AfterFirst || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || AfterLast || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || BeforeFirst || char ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || BeforeLast || char ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxstring = ::wxString();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== wxArrayString ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Add || wxString, size_t || arg1=string, arg2=number of copies to add&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Clear ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetCount ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || Item || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxarraystring = ::wxArrayString();&lt;br /&gt;
&lt;br /&gt;
== wxColour ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Red || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Green || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| byte || Blue || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Set || byte,byte,byte ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
''NOTE: Is instantiated in a script using: local my_wxcolour = ::wxColour();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ProjectFile ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddBuildTarget || (const wxString&amp;amp; targetName)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RenameBuildTarget || (const wxString&amp;amp; oldTargetName, const wxString&amp;amp; newTargetName) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveBuildTarget || (const wxString&amp;amp; targetName)|| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetBaseName || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetObjName || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetObjName || (const wxString&amp;amp; targetName) || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetParentProject || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString|| GetCustomBuildCommand||  (const wxString&amp;amp; compilerId) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void  || SetCustomBuildCommand || (const wxString&amp;amp; compilerId, const wxString&amp;amp; newBuildCommand) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetUseCustomBuildCommand||  (const wxString&amp;amp; compilerId) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void  || SetUseCustomBuildCommand ||  (const wxString&amp;amp; compilerId, bool useCustomBuildCommand) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxFileName || file ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || relativeFilename ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || relativeToCommonTopLevelPath ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || compile ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || link ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || weight ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || compilerVar ||  || (variable)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CompileOptionsBase ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments in Prototype&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddPlatform || (int platform) || windows,unix,mac&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemovePlatform || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetPlatforms || (int platform) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetPlatforms || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SupportsCurrentPlatform || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLinkerOptions || (const wxArrayString&amp;amp; linkerOpts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLinkLibs || (const wxArrayString&amp;amp; linkLibs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCompilerOptions || (const wxArrayString&amp;amp; compilerOpts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetIncludeDirs || (const wxArrayString&amp;amp; includeDirs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetResourceIncludeDirs || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetLibDirs || (const wxArrayString&amp;amp; libDirs) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCommandsBeforeBuild || (const wxArrayString&amp;amp; commands) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCommandsAfterBuild || (const wxArrayString&amp;amp; commands) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLinkerOptions ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLinkLibs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCompilerOptions ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetIncludeDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetResourceIncludeDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetLibDirs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCommandsBeforeBuild ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetCommandsAfterBuild ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || (bool modified) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLinkerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLinkLib || (const wxString&amp;amp; lib) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCompilerOption || (const wxString&amp;amp; option)||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddResourceIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddLibDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCommandsBeforeBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddCommandsAfterBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLinkerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLinkLib || (const wxString&amp;amp; lib) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCompilerOption || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveResourceIncludeDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveLibDir || (const wxString&amp;amp; option) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCommandsBeforeBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveCommandsAfterBuild || (const wxString&amp;amp; command) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetAlwaysRunPostBuildSteps ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetAlwaysRunPostBuildSteps || (bool always) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetBuildScripts || (const wxArrayString&amp;amp; scripts) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetBuildScripts || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddBuildScript || (const wxString&amp;amp; script) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || RemoveBuildScript || (const wxString&amp;amp; script) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SetVar || (const wxString&amp;amp; key, const wxString&amp;amp; value, bool onlyIfExists = false) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetVar || (const wxString&amp;amp; key) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || UnsetVar || (const wxString&amp;amp; key) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnsetAllVars || ( ) ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CompileTargetBase ==&lt;br /&gt;
Extends CompileOptionsBase.&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTargetFilenameGenerationPolicy || enum, enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetOutputFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetWorkingDir || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetObjectOutput || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDepsOutput || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OptionsRelation || GetOptionRelation || OptionsRelationType ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetOptionRelation || OptionsRelationType,OptionsRelation ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetWorkingDir ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetObjectOutput ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDepsOutput ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetOutputFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || SuggestOutputFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExecutableFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDynamicLibFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDynamicLibDefFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetStaticLibFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetBasePath ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTargetType || TargetType ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| TargetType || GetTargetType ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExecutionParameters ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExecutionParameters || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetHostApplication ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetHostApplication || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCompilerID || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCompilerID ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetMakeCommandFor || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakeCommandFor || enum,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || MakeCommandsModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ProjectBuildTarget ==&lt;br /&gt;
Extends CompileTargetBase.&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cbProject* || GetParentProject ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFullTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetExternalDeps ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExternalDeps || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetAdditionalOutputFiles || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetAdditionalOutputFiles ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetIncludeInTargetAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetIncludeInTargetAll || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetCreateDefFile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCreateDefFile || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetCreateStaticLib ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCreateStaticLib || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetUseConsoleRunner ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetUseConsoleRunner || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== cbProject ==&lt;br /&gt;
Extends CompileTargetBase.&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetMakefile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakefile || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsMakefileCustom ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetMakefileCustom || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CloseAllFiles || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAllFiles ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveLayout ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || LoadLayout ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ShowOptions ||  || Display the project options dialog&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetCommonTopLevelPath ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetFilesCount ||  || Returns number of files in the project&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetFile || int || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetFileByFilename || wxString,bool,bool || See API docs for cbProject::GetFileByName&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveFile || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || AddFile || wxString|int,wxString,bool,bool,int || See API docs for cbProject::AddFile&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetBuildTargetsCount ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || GetBuildTarget || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || AddBuildTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RenameBuildTarget || wxString|int,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || DuplicateBuildTarget || wxString|int,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveBuildTarget || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ExportTargetAsProject || wxString|int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || BuildTargetValid || wxString|bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFirstValidBuildTargetName || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetDefaultExecuteTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetDefaultExecuteTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SetActiveBuildTarget || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetActiveBuildTarget ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || SelectTarget || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectBuildTarget* || GetCurrentlyCompilingTarget ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetCurrentlyCompilingTarget || ProjectBuildTarget* ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PCHMode || GetModeForPCH ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModeForPCH || PCHMode ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetExtendedObjectNamesGeneration || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetExtendedObjectNamesGeneration || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetNotes || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString  || GetNotes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetShowNotesOnLoad || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool ||  GetShowNotesOnLoad || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ShowNotes || bool,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AddToExtensions || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || DefineVirtualBuildTarget || wxString,wxArrayString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasVirtualBuildTarget|| wxSring ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveVirtualBuildTarget|| wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetVirtualBuildTargets|| ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetVirtualBuildTargetGroup || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxArrayString || GetExpandedVirtualBuildTargetGroup|| wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanAddToVirtualBuildTarget || wxSring,wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxSring ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== EditorBase ==&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetFilename ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetFilename || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetShortName ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || GetModified ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetModified || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetTitle ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Activate ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Close ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || IsBuiltinEditor ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || ThereAreOthers ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoLine || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasBreakpoint || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoNextBreakpoint ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoPreviousBreakpoint ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleBookmark || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasBookmark || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoNextBookmark ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || GotoPreviousBookmark ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Undo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Redo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Cut ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Copy ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Paste ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanUndo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanRedo ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || CanPaste ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || HasSelection ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== cbEditor ==&lt;br /&gt;
Extends EditorBase.&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;
|- style=&amp;quot;background: #ececec; border: 0px solid gray&amp;quot;&lt;br /&gt;
!Return value&lt;br /&gt;
!Name&lt;br /&gt;
!Arguments&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetEditorTitle || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ProjectFile* || GetProjectFile ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Save ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || SaveAs ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || FoldAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnfoldAll ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleAllFolds ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || FoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || UnfoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || ToggleFoldBlockFromLine || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| int || GetLineIndentInSpaces || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetLineIndentString || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Touch ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || Reload || bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || Print || bool,PrintColourMode,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || AutoComplete ||  ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || AddBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bool || RemoveBreakpoint || int,bool ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| void || SetText || wxString || this is not present in cbEditor; included to help scripts edit text&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxString || GetText ||  || this is not present in cbEditor; included to help scripts edit text&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Constants ==&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: 0px solid gray&amp;quot;&lt;br /&gt;
!Constant&lt;br /&gt;
!Type&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM || int || this defines the platform Code::Blocks is currently running on. It is equal to only one of the following PLATFORM_* constants&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_MSW || int || All Windows platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_GTK || int || All GTK platforms (Linux, BSD, Solaris, Darwin, etc.)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_MAC || int || All Mac platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_OS2 || int || OS/2 platform&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_X11 || int || All X11 platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PLATFORM_UNKNOWN || int || Unknown platform. Please inform us if PLATFORM == PLATFORM_UNKNOWN so we can make this platform known too ;)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Message dialog flags'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxOK || int || Flag for Message() 's third argument (flags).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxYES_NO || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxCANCEL || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_QUESTION || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_INFORMATION || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_WARNING || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxICON_ERROR || int || -&amp;quot;-&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Message dialog return values'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_OK || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_YES || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_NO || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxID_CANCEL || int ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum OptionsRelationType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortCompilerOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortLinkerOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortIncludeDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortLibDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ortResDirs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum OptionsRelation'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orUseParentOptionsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orUseTargetOptionsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orPrependToParentOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| orAppendToParentOptions || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum TargetType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttExecutable || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttConsoleOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttStaticLib || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttDynamicLib || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ttCommandsOnly || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum MakeCommand'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcClean || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcDistClean || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcBuild || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mcCompileFile || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PCHMode'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchSourceDir || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchObjectDir || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pchSourceFile || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PrintScope'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psSelection || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psActiveEditor || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| psAllOpenEditors || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum PrintColourMode'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmBlackAndWhite || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmColourOnWhite || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmInvertColours || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcmAsIs || enum ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''enum TemplateOutputType'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizProject || enum || TemplateOutputType::totProject&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizTarget || enum || TemplateOutputType::totTarget&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizFiles || enum || TemplateOutputType::totFiles&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wizCustom || enum || TemplateOutputType::totCustom&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''Other constants'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| wxFILE_SEP_PATH || wxString || Path separator. &amp;quot;\&amp;quot; for windows, &amp;quot;/&amp;quot; for all other platforms&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''File extensions (e.g. &amp;quot;cbp&amp;quot;)'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CODEBLOCKS || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_DEVCPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC6 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC6_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC7 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_MSVC7_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_D || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F77 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_F95 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_C || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CC || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_CXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_H || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HH || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_HXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_OBJECT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_XRCRESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_STATICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_DYNAMICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_EXECUTABLE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_RESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_RESOURCEBIN || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_XML || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EXT_SCRIPT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background: #f8f8f8;&amp;quot; | '''File extensions with leading dot (e.g. &amp;quot;.cbp&amp;quot;)'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CODEBLOCKS || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_DEVCPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC6 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC6_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC7 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_MSVC7_WORKSPACE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_D || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F77 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_F95 || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_C || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CC || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_CXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HPP || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_H || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HH || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_HXX || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_OBJECT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_XRCRESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_STATICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_DYNAMICLIB || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_EXECUTABLE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_RESOURCE || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_RESOURCEBIN || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_XML || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DOT_EXT_SCRIPT || wxString ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Scripting Code::Blocks|Scripting index]]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=User_documentation&amp;diff=5798</id>
		<title>User documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=User_documentation&amp;diff=5798"/>
		<updated>2009-01-14T11:37:46Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Compilers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:User Documentation]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Articles for Code::Blocks users.&lt;br /&gt;
&lt;br /&gt;
'''[[Installing Code::Blocks]]'''&lt;br /&gt;
&lt;br /&gt;
:How to install Code::Blocks (from binary or source)&lt;br /&gt;
&lt;br /&gt;
'''[[Keyboard Shortcuts]]'''&lt;br /&gt;
&lt;br /&gt;
:List of keyboard shortcuts that can be used in Code::Blocks&lt;br /&gt;
&lt;br /&gt;
'''[[Command line arguments]]'''&lt;br /&gt;
&lt;br /&gt;
:List of command-line arguments that can be used with Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[Personalities]]'''&lt;br /&gt;
&lt;br /&gt;
:Customize the Code::Blocks user interface for different workflows.&lt;br /&gt;
&lt;br /&gt;
'''[[Code::Blocks Plugins]]'''&lt;br /&gt;
&lt;br /&gt;
:List of plugins that come with Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[The build process of Code::Blocks]]'''&lt;br /&gt;
&lt;br /&gt;
:Information about how Code::Blocks actually builds your source code.&lt;br /&gt;
&lt;br /&gt;
'''[[Scripting Code::Blocks]]'''&lt;br /&gt;
:Information about scripting Code::Blocks with [http://www.squirrel-lang.org/ Squirrel].&lt;br /&gt;
&lt;br /&gt;
'''[[wxSmith tutorials]]'''&lt;br /&gt;
:Information about how to use wxSmith RAD editor&lt;br /&gt;
&lt;br /&gt;
'''[[Building an Non-Unicode Win32 Code::Blocks]]'''&lt;br /&gt;
:Information about how to modify the Code::Blocks project files for an Non-Unicode build of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
'''[[Miscellaneous]]'''&lt;br /&gt;
:Miscellaneous things related to the user development experience.  This is a catch all place.&lt;br /&gt;
&lt;br /&gt;
== Application development ==&lt;br /&gt;
&lt;br /&gt;
* [[Builtin variables]]&lt;br /&gt;
* [[Recommended global variables]]&lt;br /&gt;
* [[Code::Blocks variable types synthesis]]&lt;br /&gt;
* [[Debugging with Code::Blocks]]&lt;br /&gt;
* [[Adding support for non C/C++ files to the build system]]&lt;br /&gt;
&lt;br /&gt;
== Compilers ==&lt;br /&gt;
&lt;br /&gt;
* [[Global compiler variables]]&lt;br /&gt;
* [[Precompiled headers]]&lt;br /&gt;
* [[Installing a supported compiler]]&lt;br /&gt;
* [[Installing Cygwin Compiler]]&lt;br /&gt;
* [[Installing Fortran Compiler]]&lt;br /&gt;
* [[Installing Uniwin remote compiler]]&lt;br /&gt;
* [[Code::Blocks_and_Cross_Compilers|Using cross compilers]]&lt;br /&gt;
* [[Cross_Compiling_wxWidgets_Applications_on_Linux|Cross compiling wxWidgets applications on Linux]]&lt;br /&gt;
* [[Integrating Microsoft Visual Toolkit 2003 with Code::Blocks IDE]]&lt;br /&gt;
* [[Integrating Microsoft Visual C 6 with Code::Blocks IDE]]&lt;br /&gt;
* [[64Bit Windows|Setting up for 64-bit windows development with Mirosoft compilers]]&lt;br /&gt;
* [[Using the Code::Blocks IDE with SDCC on PIC MCUs]]&lt;br /&gt;
* [[Using Code::Blocks with Open Watcom]]&lt;br /&gt;
&lt;br /&gt;
== Third-party libraries ==&lt;br /&gt;
&lt;br /&gt;
* [[BoostWindowsQuickRef|Using Boost with Code::Blocks (Windows)]]&lt;br /&gt;
* [[WxWindowsQuickRef|Using wxWidgets with Code::Blocks (Windows)]]&lt;br /&gt;
* [[Using SDL with Code::Blocks]]&lt;br /&gt;
* [[Using GLFW with Code::Blocks]]&lt;br /&gt;
&lt;br /&gt;
== User interface development ==&lt;br /&gt;
&lt;br /&gt;
* [[WxSmith Tutorial &amp;amp; Pointers|Creating a dialog for wxWidgets with wxSmith]]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5633</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5633"/>
		<updated>2008-08-24T19:38:36Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Fixing build options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows with wxWidgets dll's compiled on MS Windows, so I prefer using the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' for statically linked executables or you have to make sure the appropriate dll's exist on the target system.&amp;lt;br /&amp;gt;&lt;br /&gt;
In any case the needed dll's have to be in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
I think the most secure way is to ditribute them in the executables directory to make sure they don't interfere with existing wxWidgets dll's.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to use dll's build on windows together with a cross-compiled executable. Because of that I prefer a statically linked program that only needs '''mingwm10.dll'''. By doing so I avoid runtime errors.&lt;br /&gt;
&lt;br /&gt;
'''mingwm10.dll''' is part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5632</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5632"/>
		<updated>2008-08-24T19:23:08Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Compile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' for statically linked executables or you have to make sure the appropriate dll's exist on the target system.&amp;lt;br /&amp;gt;&lt;br /&gt;
In any case the needed dll's have to be in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
I think the most secure way is to ditribute them in the executables directory to make sure they don't interfere with existing wxWidgets dll's.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to use dll's build on windows together with a cross-compiled executable. Because of that I prefer a statically linked program that only needs '''mingwm10.dll'''. By doing so I avoid runtime errors.&lt;br /&gt;
&lt;br /&gt;
'''mingwm10.dll''' is part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5631</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5631"/>
		<updated>2008-08-24T16:28:56Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Compile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' if you linked the wxWidgets dll's statically or you have to make sure the appropriate dll's exist on the target system in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
I think the most secure way is to ditribute them in the executables directory to make sure they don't interfere with existing wxWidgets dll's.&lt;br /&gt;
&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5630</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5630"/>
		<updated>2008-08-24T16:24:26Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* wxWidgets cross-build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5629</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5629"/>
		<updated>2008-08-24T16:05:10Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* wxWidgets cross-build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shared version of wxWidgets and to run it on MS WIndows with the native dll's. It only works if it is statically linked or you distribute the needed dll's that can be found in '''/usr/i586-mingw32msvc/lib/''' and put them into the executables directory. Putting them into the search path might interfere with existing wxWidgets dll's on windows.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5628</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5628"/>
		<updated>2008-08-24T16:02:18Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* wxWidgets cross-build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shared version of wxWidgets and to run it on MS WIndows with the native dll's. It only works if it is statically linked or you distribute the needed dll's that can be found in /usr/i586-mingw32msvc/lib/.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5627</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5627"/>
		<updated>2008-08-24T15:59:30Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* wxWidgets cross-build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shared version of wxWidgets and to run it on MS WIndows with the native dll's. It only works with statically linked dll's .&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5625</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5625"/>
		<updated>2008-08-16T13:16:21Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Fixing build options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other linker options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --cflags`&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
&lt;br /&gt;
* The line in '''Linker Settings -&amp;gt; Other linker options''' should look like that:&lt;br /&gt;
 `wx-config --host=i586-mingw32msvc --static --libs`&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5572</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5572"/>
		<updated>2008-08-10T15:47:28Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* wxWidgets cross-build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.8 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
   Which GUI toolkit should wxWidgets use?                 msw&lt;br /&gt;
   Should wxWidgets be compiled into single library?       no&lt;br /&gt;
   Should wxWidgets be compiled in debug mode?             no&lt;br /&gt;
   Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
   Should wxWidgets be compiled in Unicode mode?           yes&lt;br /&gt;
   What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                        wxWidgets 2.4      no&lt;br /&gt;
                                        wxWidgets 2.6      yes&lt;br /&gt;
   Which libraries should wxWidgets use?&lt;br /&gt;
                                        jpeg               builtin&lt;br /&gt;
                                        png                builtin&lt;br /&gt;
                                        regex              builtin&lt;br /&gt;
                                        tiff               builtin&lt;br /&gt;
                                        zlib               builtin&lt;br /&gt;
                                        odbc               no&lt;br /&gt;
                                        expat              builtin&lt;br /&gt;
                                        libmspack          no&lt;br /&gt;
                                        sdl                no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5477</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5477"/>
		<updated>2008-03-27T21:32:05Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:32, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5476</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5476"/>
		<updated>2008-03-27T21:31:24Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Setup the debugger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:15, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setting up the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5475</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5475"/>
		<updated>2008-03-27T21:30:50Z</updated>

		<summary type="html">&lt;p&gt;Jens: /* Debugging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:15, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
===Known limitations===&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Therefore there are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
It does not know anything about special instructions for '''MS WIndows''' to use while debugging.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and that its api is not 100% compatible with the original '''MS Windows'''-api.&amp;lt;br /&amp;gt;&lt;br /&gt;
It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works (better) in all cases.&lt;br /&gt;
&lt;br /&gt;
===Setup the debugger===&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
The debugger can be used as the native '''gdb''' for '''Linux''' from within '''Code::Blocks'''.&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5474</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5474"/>
		<updated>2008-03-27T21:15:39Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
&lt;br /&gt;
If this document is helpful for you, or if you have questions or suggestions feel free to send me a mail or Personal Message.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors or you miss something feel free to edit the document to make it better.&lt;br /&gt;
&lt;br /&gt;
[[User:Jens|Jens]]&lt;br /&gt;
&lt;br /&gt;
22:15, 27 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&lt;br /&gt;
There are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''. It does not know anything about special instructions to use while debugging, of course.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and the its api is not 100% compatible with the original '''MS Windows'''-api. It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works better.&lt;br /&gt;
&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;br /&gt;
&lt;br /&gt;
Happy debugging.&lt;br /&gt;
&lt;br /&gt;
=(External) Links=&lt;br /&gt;
&lt;br /&gt;
Here are some links that contain interesting articles and/or discussions about cross-compiling.&lt;br /&gt;
&lt;br /&gt;
They are surely not complete and they are not in any special order.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Cross_compiler http://en.wikipedia.org/wiki/Cross_compiler]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux http://www.wxwidgets.org/wiki/index.php/Cross-Compiling_Under_Linux]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers https://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc http://gcc.gnu.org/wiki/Building_Cross_Toolchains_with_gcc]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7978.0.html /index.php/topic,7978.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,3343.0.html /index.php/topic,3343.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,6876.0.html /index.php/topic,6876.0.html]&amp;lt;br /&amp;gt;&lt;br /&gt;
[/index.php/topic,7454.0.html /index.php/topic,7454.0.html]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5473</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5473"/>
		<updated>2008-03-27T20:56:34Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
01:00, 20 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
Debugging MS Windows apps with Code::Blocks works, but it does not work reliable.&lt;br /&gt;
&lt;br /&gt;
I think one problem is that '''gdb''' has a slightly different syntax on '''Linux''' and '''MS Windows'''. '''Code::Blocks''' is aware of this and therefore uses different instructions when running '''gdb''' on '''Linux''' and on '''MS Windows'''.&lt;br /&gt;
There are some &amp;lt;code&amp;gt;#ifdef&amp;lt;/code&amp;gt;'s in source code.&lt;br /&gt;
&lt;br /&gt;
The problem is that '''Code::Blocks''' on '''Linux''' is compiled for ... right '''Linux'''. It does not know anything about special instructions to use while debugging, of course.&lt;br /&gt;
&lt;br /&gt;
Annother problem might be the fact that [http://www.winehq.org/ wine] normally uses it own dll's and the its api is not 100% compatible with the original '''MS Windows'''-api. It might be possible to do some tweaking, or to use real '''MS Windows''' dll's, but that can lead to licensing problems and there is of course no guarantee that it works better.&lt;br /&gt;
&lt;br /&gt;
Nevertheless it is possible to debug '''MS Windows''' applications from within '''Code::Blocks''':&lt;br /&gt;
&lt;br /&gt;
Download a recent '''gdb'''-package (for '''MS Windows''' of course) from [http://www.mingw.org/ www.mingw.org/] and unzip to any directory you want.&amp;lt;br /&amp;gt;&lt;br /&gt;
I put it into:&lt;br /&gt;
 ~/.wine/drive_c/MinGW/&lt;br /&gt;
There should be at least a &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;-subdirectory now that contains '''gdb.exe'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Typing&lt;br /&gt;
 ~/.wine/drive_c/MinGW/bin/gdb.exe -v&lt;br /&gt;
at the console should lead to something like this:&lt;br /&gt;
 GNU gdb 6.7.50.20071127&lt;br /&gt;
 Copyright (C) 2007 Free Software Foundation, Inc.&lt;br /&gt;
 License GPLv3+: GNU GPL version 3 or later &amp;lt;http://gnu.org/licenses/gpl.html&amp;gt;&lt;br /&gt;
 This is free software: you are free to change and redistribute it.&lt;br /&gt;
 There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br /&gt;
 and &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
 This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
 Wine exited with a successful status&lt;br /&gt;
&lt;br /&gt;
The easiest way to use '''gdb.exe''' from within Code::Blocks is to create a simple shell-script (I called it '''i586-mingw32msvc-gdb''') :&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 wine /home/jens/.wine/drive_c/MinGW/bin/gdb.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You have to fix the path inside the script to point to your '''gdb.exe'''.&lt;br /&gt;
&lt;br /&gt;
Make the script executable and place it in &amp;lt;code&amp;gt;/usr/bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
 chmod 755 i586-mingw32msvc-gdb&lt;br /&gt;
 sudo chown root.root i586-mingw32msvc-gdb&lt;br /&gt;
 sudo mv i586-mingw32msvc-gdb /usr/bin&lt;br /&gt;
&lt;br /&gt;
If you now run:&lt;br /&gt;
 i586-mingw32msvc-gdb -v&lt;br /&gt;
from the console you should get the same output as above when calling '''gdb.exe''' directly.&lt;br /&gt;
&lt;br /&gt;
You now have to put the name of the script in the appropriate text-box in '''Toolchain executables''' as described [[#Fix_Toolchain_Executables|above]].&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5461</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5461"/>
		<updated>2008-03-20T00:00:02Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
01:00, 20 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
Coming soon...&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5460</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5460"/>
		<updated>2008-03-19T23:59:15Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
00:59, 20 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --build=`./config.guess` --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it can be called (a shell-script) later in this document.&lt;br /&gt;
=Setting up your project=&lt;br /&gt;
You can of course use a working wxWidgets-project, but for testing I think the best way is to use the wizard and create a brand-new project.&lt;br /&gt;
&lt;br /&gt;
==Creating a new build target==&lt;br /&gt;
If you have opened your project in Code::Blocks, go to the '''Projects''' tab in the '''Manager''' and right-click it to prepare it for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Chose '''Properties..'''. from the context menu and switch to the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Build targets&amp;lt;/span&amp;gt;-tab.&lt;br /&gt;
&lt;br /&gt;
Select one of the build targets (I used '''Release''' for this example), click the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Duplicate&amp;lt;/span&amp;gt;-button and give it a new name (WinRelease in my case).&lt;br /&gt;
[[Image:PropertiesDuplicate.png|thumb|none|Duplicate build target]]&lt;br /&gt;
&lt;br /&gt;
Change the '''Output filename''' from '''bin/Release/&amp;lt;filename&amp;gt;''' to '''bin/WinRelease/&amp;lt;filename&amp;gt;.exe''', and uncheck at least '''Auto-generate filename extension'''.&lt;br /&gt;
[[Image:BuildTargets.png|thumb|none|Adapt settings of build target]]&lt;br /&gt;
==Fixing build options==&lt;br /&gt;
*In the '''Build options''' of the project you have to move &amp;lt;code&amp;gt;`wx-config --cflags`&amp;lt;/code&amp;gt; from the global '''Compiler settings -&amp;gt; Other options''' to the one for the standard build targets ('''Debug''' and '''Release''').&amp;lt;br /&amp;gt;&lt;br /&gt;
:Do the same for '''Linker Settings -&amp;gt; Other options'''.&lt;br /&gt;
&lt;br /&gt;
*To make it clear the '''Other options'''-tabs of the '''Compiler settings''' and '''Linker settings''' belonging to the whole project have to be empty (or only include settings that are valid for the Linux '''and''' the MS Windows targets).&lt;br /&gt;
&lt;br /&gt;
*Change the compiler for '''WinRelease''' from '''GNU GCC compiler''' to '''Mingw GNU GCC Cross-Compiler for Windows''' or however you called the cross-compiler.&lt;br /&gt;
&lt;br /&gt;
*The appropriate calls to '''wx-config''' for the '''WinRelease''' must have the parameter: '''--host=i586-mingw32msvc''' included and should have the parameter '''--static''' set also.&amp;lt;br /&amp;gt;&lt;br /&gt;
:Until now I haven't been able to make a cross-compiled program run on MS Windows if I did not use the static libraries.&lt;br /&gt;
&lt;br /&gt;
[[Image:CompilerSettings.png|thumb|none|Compiler settings]]&lt;br /&gt;
[[Image:LinkerSettings.png|thumb|none|Linker settings]]&lt;br /&gt;
&lt;br /&gt;
If the wx-config-command does not find the correct wxWidgets configuration, you can also add a '''--prefix=/usr/i586-mingw32msvc''' or maybe another prefix if you use self-compiled libraries (it should be the same you used for '''./configure''').&lt;br /&gt;
&lt;br /&gt;
==Compile==&lt;br /&gt;
Not much to say here.&lt;br /&gt;
&lt;br /&gt;
If everything went right, you should have a real MS Windows-application in your output directory:&lt;br /&gt;
 file bin/WinRelease/test.exe&lt;br /&gt;
 bin/WinRelease/test.exe: MS-DOS executable PE  for MS Windows (GUI) Intel 80386 32-bit&lt;br /&gt;
If you want to run it on MS Windows you need '''mingwm10.dll''' in the same directory or at any other place in the search path.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's part of the '''mingw32-runtime'''-package and can be found (gzipped) in '''/usr/share/doc/mingw32-runtime/''' (at least on debian systems).&lt;br /&gt;
&lt;br /&gt;
You can create console-projects in a similar way  without using '''wx-config''' of course.&lt;br /&gt;
&lt;br /&gt;
=Running on Linux=&lt;br /&gt;
==Normal run==&lt;br /&gt;
To run your application on Linux you will need the [http://www.winehq.org/ wine]-package.&lt;br /&gt;
&lt;br /&gt;
To start a MS WIndows executable from the console (or from within Code::Blocks) you need the '''binfmt-support'''-package or however it is called in your distro.&lt;br /&gt;
&lt;br /&gt;
If you run your test application it should look like this one:&lt;br /&gt;
[[Image:AboutBox.png|thumb|none|Dialog based example]]&lt;br /&gt;
==Debugging==&lt;br /&gt;
Coming soon...&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:AboutBox.png&amp;diff=5459</id>
		<title>File:AboutBox.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:AboutBox.png&amp;diff=5459"/>
		<updated>2008-03-19T23:56:10Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:LinkerSettings.png&amp;diff=5458</id>
		<title>File:LinkerSettings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:LinkerSettings.png&amp;diff=5458"/>
		<updated>2008-03-19T23:29:42Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:CompilerSettings.png&amp;diff=5457</id>
		<title>File:CompilerSettings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:CompilerSettings.png&amp;diff=5457"/>
		<updated>2008-03-19T23:29:14Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:BuildTargets.png&amp;diff=5456</id>
		<title>File:BuildTargets.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:BuildTargets.png&amp;diff=5456"/>
		<updated>2008-03-19T22:51:47Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:PropertiesDuplicate.png&amp;diff=5455</id>
		<title>File:PropertiesDuplicate.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:PropertiesDuplicate.png&amp;diff=5455"/>
		<updated>2008-03-19T22:51:18Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5450</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5450"/>
		<updated>2008-03-16T22:42:11Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
23:42, 16 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it is called (a shell-script) later in this document.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5449</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5449"/>
		<updated>2008-03-16T22:13:52Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
18:54, 16 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler'''''&lt;br /&gt;
==''Create'' Compiler==&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''.&lt;br /&gt;
*Chose '''''GNU GCC compiler'''''.&lt;br /&gt;
*Click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;.&lt;br /&gt;
*Give your new Compiler a meaningful name.&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*Chose the cross-compiler.&lt;br /&gt;
==Fix Search directories==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt; to&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt; also to&lt;br /&gt;
 /usr/i586-mingw32msvc/include/&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;br /&gt;
==Fix Toolchain Executables==&lt;br /&gt;
*Open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Toolchain executables&amp;lt;/span&amp;gt; notebook.&lt;br /&gt;
*Change the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Program Files&amp;lt;/span&amp;gt; as follows:&lt;br /&gt;
:*'''C Compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gcc&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''C++ Compiler''' and '''Linker for dynamic libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-g++&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Linker for static libs''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-ar&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Debugger''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;i586-mingw32msvc-gdb&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*'''Resource compiler''' to:&lt;br /&gt;
:&amp;lt;pre&amp;gt;`wx-config --host=i586-mingw32msvc --rescomp`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Leave '''Make''' unchanged&lt;br /&gt;
[[Image:ToolchainExecutables.png|thumb|none|Toolchain executables]]&lt;br /&gt;
&lt;br /&gt;
One word to the debugger executable: there is no cross-debugger available in the MinGW-suite !&amp;lt;br /&amp;gt;&lt;br /&gt;
But for rudimentary debugging we can use the MS Windows version of the ''gdb''-debugger avaible on the [http://www.mingw.org/ MinGW] download site.&lt;br /&gt;
&lt;br /&gt;
But debugging works not reliable, I think it's because there are some ''ifdef'''s in the Code::Blocks sources for the debugger-plugin dealing with differences between the linux and the MS Windows versions of ''gdb'' and the different application structure. Even if we use a MS WIndows executable as debugger, Code::Blocks believes it works on linux (and that's of course right) and is therefore compiled for the linux ''gdb.''&lt;br /&gt;
&lt;br /&gt;
There is also a real cross-debugger for MS WIndows applications available, that belongs to [http://www.winehq.org/ wine], but the syntax is not compatible with the one of ''gdb,'' even if it is possible to use ''gdb'' as backend for ''winedbg''.&lt;br /&gt;
&lt;br /&gt;
I will come back to the debugger and how it is called (a shell-script) later in this document.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:ToolchainExecutables.png&amp;diff=5448</id>
		<title>File:ToolchainExecutables.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:ToolchainExecutables.png&amp;diff=5448"/>
		<updated>2008-03-16T21:54:12Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5447</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5447"/>
		<updated>2008-03-16T21:13:53Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
18:54, 16 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler''''':&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''&lt;br /&gt;
*chose '''''GNU GCC compiler'''''&lt;br /&gt;
*click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;&lt;br /&gt;
*give your new Compiler a meaningful name&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*chose the cross-compilerone&lt;br /&gt;
*open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook&lt;br /&gt;
*change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt;&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt;&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt;&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5446</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5446"/>
		<updated>2008-03-16T21:04:46Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
18:54, 16 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler''''':&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''&lt;br /&gt;
*chose '''''GNU GCC compiler'''''&lt;br /&gt;
*click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;&lt;br /&gt;
*give your new Compiler a meaningful name&lt;br /&gt;
&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*chose the cross-compiler&lt;br /&gt;
*open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook&lt;br /&gt;
*change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:SearchDirsCompiler.png|thumb|none|Search Directories -&amp;gt; Compiler]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:SearchDirsLinker.png|thumb|none|Search Directories -&amp;gt; Linker]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:SearchDirsResources.png|thumb|none|Search Directories -&amp;gt; Resource Compiler]]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5445</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5445"/>
		<updated>2008-03-16T21:03:10Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
18:54, 16 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''''GNU GCC compiler''''':&lt;br /&gt;
&lt;br /&gt;
*Open '''''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings'''''&lt;br /&gt;
*chose '''''GNU GCC compiler'''''&lt;br /&gt;
*click &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Copy&amp;lt;/span&amp;gt;&lt;br /&gt;
*give your new Compiler a meaningful name&lt;br /&gt;
&lt;br /&gt;
[[Image:DuplicateCompiler.png|thumb|none|Duplicate Compiler]]&lt;br /&gt;
&lt;br /&gt;
*chose the cross-compiler&lt;br /&gt;
*open the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Search directories&amp;lt;/span&amp;gt; notebook&lt;br /&gt;
*change the search directory for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Compiler&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:SearchDirsCompiler.png]]&lt;br /&gt;
&lt;br /&gt;
*for the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Linker&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:SearchDirsLinker.png]]&lt;br /&gt;
&lt;br /&gt;
*and the &amp;lt;span style=&amp;quot;border:1px solid black;background-color:#ddd;&amp;quot;&amp;gt;Resource Compiler&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:SearchDirsResources.png]]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:SearchDirsResources.png&amp;diff=5444</id>
		<title>File:SearchDirsResources.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:SearchDirsResources.png&amp;diff=5444"/>
		<updated>2008-03-16T20:43:11Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:SearchDirsLinker.png&amp;diff=5443</id>
		<title>File:SearchDirsLinker.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:SearchDirsLinker.png&amp;diff=5443"/>
		<updated>2008-03-16T20:43:00Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:SearchDirsCompiler.png&amp;diff=5442</id>
		<title>File:SearchDirsCompiler.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:SearchDirsCompiler.png&amp;diff=5442"/>
		<updated>2008-03-16T20:42:52Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=File:DuplicateCompiler.png&amp;diff=5441</id>
		<title>File:DuplicateCompiler.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=File:DuplicateCompiler.png&amp;diff=5441"/>
		<updated>2008-03-16T20:29:59Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5440</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5440"/>
		<updated>2008-03-16T20:08:14Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
18:54, 16 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing&lt;br /&gt;
 sudo apt-get install mingw32&lt;br /&gt;
at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with&lt;br /&gt;
 ./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --disable-shared&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with&lt;br /&gt;
 ./configure --help&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&lt;br /&gt;
 Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
 &lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
 &lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
 &lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
 /usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on '''&amp;lt;code&amp;gt;''GNU GCC compiler''&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
Open '''&amp;lt;code&amp;gt;''Settings -&amp;gt; Compiler and Debugger ... -&amp;gt; Global compiler settings''&amp;lt;/code&amp;gt;''', chose '''&amp;lt;code&amp;gt;''GNU GCC compiler''&amp;lt;/code&amp;gt;''' and then click the&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5439</id>
		<title>Cross Compiling wxWidgets Applications on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Cross_Compiling_wxWidgets_Applications_on_Linux&amp;diff=5439"/>
		<updated>2008-03-16T18:40:13Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
This document is still under construction by [[User:Jens|Jens]], but I'm working on it. Please be patient.&lt;br /&gt;
&lt;br /&gt;
For the moment you can also look [/index.php/topic,7978.0.html here]&lt;br /&gt;
&lt;br /&gt;
18:54, 16 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
This document describes how to setup Code::Blocks to compile applications that use the wxWidgets toolkit for MS Windows from within Linux.&amp;lt;br /&amp;gt;&lt;br /&gt;
I tested it on [http://www.debian.org/ debian] sid, but it should also work on other distributions.&lt;br /&gt;
&lt;br /&gt;
=Needed software=&lt;br /&gt;
==Code::Blocks==&lt;br /&gt;
You can download prebuild binaries Code::Blocks from the [https://www.codeblocks.org/downloads/binaries download page].&lt;br /&gt;
&lt;br /&gt;
If you prefer to compile Code::Blocks yourself, you have the choice between downloading the sourcecode of the actual release as tarball from the official [https://www.codeblocks.org/downloads/6 download page] or to download the newest version via [https://www.codeblocks.org/downloads/7 svn].&amp;lt;br /&amp;gt;A guide to build Code::Blocks from svn can be found in the [[Nightly Cookbook]].&lt;br /&gt;
&lt;br /&gt;
The newest svn-versions are also available as prebuild binaries made available by users.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find links to the downloadpages in the actual posts in the [/index.php/board,20.0.html Nightly Builds] forum.&lt;br /&gt;
==MinGW32==&lt;br /&gt;
MingW32 is the cross-build version of the [http://www.mingw.org/ '''Min'''imalistic '''G'''nu for '''W'''indows] compiler suite (a port of the Gnu Compiler Suite for the MS Windows platform).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is part of many linux distributions.&lt;br /&gt;
&lt;br /&gt;
On debian the basepackage is called ''mingw32'' and can be installed by typing &amp;lt;pre&amp;gt;sudo apt-get install mingw32&amp;lt;/pre&amp;gt; at the command-line.&amp;lt;br /&amp;gt;&lt;br /&gt;
It's up to you to find out the name of the package and install it using your preferred package-manager or either compile it by hand.&lt;br /&gt;
==wxWidgets cross-build==&lt;br /&gt;
For debian-users I have made prebuild binary packages available on my [http://apt.jenslody.de/ server]. I guess they are also usable on Ubuntu, but you have to try it yourself.&lt;br /&gt;
&lt;br /&gt;
I don't know if there are downloadable packages available in/for other distros, but you can build it on your own.&lt;br /&gt;
&lt;br /&gt;
You can download the source-code either from my [http://apt.jenslody.de/pool/ server's software pool] or from the [http://www.wxwidgets.org/ wxWidgets] download page.&lt;br /&gt;
&lt;br /&gt;
Unpack the sources and type configure it with &amp;lt;pre&amp;gt;./configure prefix=/usr/i586-mingw32msvc --host=i586-mingw32msvc --enable-unicode --disable-shared&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The prefix depends on your MinGW32 installation, either does the host. The other switches can be changed as you prefer it, with oine exception (at the moment):&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn't able to build any application with the shred version of wxWidgets and to run it on MS WIndows. It only works with statically linked dll's.&lt;br /&gt;
&lt;br /&gt;
You can see the available switches with &amp;lt;pre&amp;gt;./configure --help&amp;lt;/pre&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If everything wents right you get a message like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configured wxWidgets 2.8.7 for `i586-pc-mingw32msvc'&lt;br /&gt;
&lt;br /&gt;
  Which GUI toolkit should wxWidgets use?                     msw&lt;br /&gt;
  Should wxWidgets be compiled into single library?       yes&lt;br /&gt;
  Should wxWidgets be compiled in debug mode?          no&lt;br /&gt;
  Should wxWidgets be linked as a shared library?         no&lt;br /&gt;
  Should wxWidgets be compiled in Unicode mode?       yes&lt;br /&gt;
  What level of wxWidgets compatibility should be enabled?&lt;br /&gt;
                                                         wxWidgets 2.4      no&lt;br /&gt;
                                                         wxWidgets 2.6      yes&lt;br /&gt;
  Which libraries should wxWidgets use?&lt;br /&gt;
                                                         jpeg                     builtin&lt;br /&gt;
                                                         png                      builtin&lt;br /&gt;
                                                         regex                   builtin&lt;br /&gt;
                                                         tiff                        builtin&lt;br /&gt;
                                                         zlib                       builtin&lt;br /&gt;
                                                         odbc                    no&lt;br /&gt;
                                                         expat                   builtin&lt;br /&gt;
                                                         libmspack            no&lt;br /&gt;
                                                         sdl                       no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can build the libraries with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use my binaries you should be able to call &amp;lt;code&amp;gt;wx-config&amp;lt;/code&amp;gt; directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
As test you can run &amp;lt;pre&amp;gt;wx-config --list&amp;lt;/pre&amp;gt;.&lt;br /&gt;
The ouput should look like&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Default config is gtk2-unicode-release-2.8&lt;br /&gt;
&lt;br /&gt;
  Default config will be used for output&lt;br /&gt;
&lt;br /&gt;
  Alternate matches:&lt;br /&gt;
    base-unicode-release-2.8&lt;br /&gt;
&lt;br /&gt;
  Also available in /usr:&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-debug-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-2.8&lt;br /&gt;
    i586-mingw32msvc-msw-unicode-release-static-2.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can see the cross-compile configurations starting with ''i586-mingw32msvc-msw''.&lt;br /&gt;
&lt;br /&gt;
If you don't see any cross-compile configurations you have to use the appropriate wx-config directly:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/i586-mingw32msvc/lib/wx/config/i586-mingw32msvc-msw-unicode-release-static-2.8 --list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(The instruction may differ according to your configuration.)&amp;lt;br /&amp;gt;&lt;br /&gt;
If the output shows your cross-build targets, everything is okay. If not something went wrong with compiling your wxWidgets cross-libraries.&lt;br /&gt;
&lt;br /&gt;
In the further part of this document I'll use the paths I used in the example configure-line.&lt;br /&gt;
=Preparing Code::Blocks=&lt;br /&gt;
If everything is installed you have to prepare Code::Blocks for cross-compiling.&lt;br /&gt;
&lt;br /&gt;
Therefore you need a special compiler based on ''GNU GCC compiler''.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
</feed>