<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.next.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kencamargo</id>
	<title>Code::Blocks - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.next.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kencamargo"/>
	<link rel="alternate" type="text/html" href="https://wiki.next.codeblocks.org/index.php?title=Special:Contributions/Kencamargo"/>
	<updated>2026-10-18T17:56:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.next.codeblocks.org/index.php?title=Developing_32_bit_apps_under_64_bit_Linux_(Ubuntu)&amp;diff=6270</id>
		<title>Developing 32 bit apps under 64 bit Linux (Ubuntu)</title>
		<link rel="alternate" type="text/html" href="https://wiki.next.codeblocks.org/index.php?title=Developing_32_bit_apps_under_64_bit_Linux_(Ubuntu)&amp;diff=6270"/>
		<updated>2010-01-30T23:39:49Z</updated>

		<summary type="html">&lt;p&gt;Kencamargo: Created page with &amp;#039;== Introduction ==  The purpose of this guide is to provide step-by-step instructions on how to build 32-bit applications under a 64-bit Linux OS; it has been tested with Ubuntu …&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this guide is to provide step-by-step instructions on how to build 32-bit applications under a 64-bit Linux OS; it has been tested with Ubuntu Karmic Koala (9.10).&lt;br /&gt;
&lt;br /&gt;
== Required software ==&lt;br /&gt;
&lt;br /&gt;
The main packages to do the trick are the multilib versions of g++ and gcc:&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
g++-multilib&lt;br /&gt;
gcc-multilib&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Install with synaptic or &#039;&#039;sudo apt-get install&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
You&#039;ll also need the .deb 32 bit packages for your Linux distributions - &#039;&#039;&#039;download using your browser, not synaptic&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
libwxbase2.8-0_2.8.10.1-1_i386.deb&lt;br /&gt;
libwxbase2.8-dbg_2.8.10.1-1_i386.deb&lt;br /&gt;
libwxbase2.8-dev_2.8.10.1-1_i386.deb&lt;br /&gt;
libwxgtk2.8-0_2.8.10.1-1_i386.deb&lt;br /&gt;
libwxgtk2.8-dev_2.8.10.1-1_i386.deb&lt;br /&gt;
wx2.8-headers_2.8.10.1-1_i386.deb&lt;br /&gt;
wx2.8-i18n_2.8.10.1-1_all.deb&lt;br /&gt;
wx-common_2.8.10.1-1_i386.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For &#039;&#039;jaunty&#039;&#039;, for instance, you&#039;ll find them at &#039;&#039;http://apt.wxwidgets.org/dists/jaunty-wx/main/binary-i386/&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This is important, if you use synaptic or apt-get to get the binaries, you&#039;ll only see the 64-bit versions.&lt;br /&gt;
&lt;br /&gt;
== Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Unpack each of the downloaded .deb files (using the archive manager, not gdebi!), and then for each unpack the data.tar.gz file. You&#039;ll probably have to unpack each .deb package to its own directory, and then merge the unpacked directories together. You&#039;ll just need the &#039;&#039;include&#039;&#039; and &#039;&#039;lib&#039;&#039; directories.&lt;br /&gt;
&lt;br /&gt;
They can&#039;t be installed with gdebi or other package manager, because they will (correctly) show as a wrong architecture, and even if it did, things would probably go to the wrong places.&lt;br /&gt;
&lt;br /&gt;
Create the directory structure and move files:&lt;br /&gt;
&lt;br /&gt;
- Move the directory &#039;&#039;./lib&#039;&#039; to &#039;&#039;/usr/lib32&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Create an &#039;&#039;i32&#039;&#039; directory under &#039;&#039;/usr&#039;&#039;, and create the following structure under it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib&lt;br /&gt;
   /wx&lt;br /&gt;
      /include&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Move the &#039;&#039;./include&#039;&#039; directory to &#039;&#039;/usr/i32&#039;&#039;, so now you&#039;ll have this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr&lt;br /&gt;
   /i32&lt;br /&gt;
      /include &amp;lt;--- that&#039;s where the 32 bit include files go&lt;br /&gt;
      /lib&lt;br /&gt;
         /wx&lt;br /&gt;
            /include&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- cd to &#039;&#039;/usr/i32/lib/wx/include&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Make a symlink there to &#039;&#039;/usr/lib32/wx/include/gtk2-unicode-release-2.8&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now the complete tree should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr&lt;br /&gt;
   /i32&lt;br /&gt;
      /include&lt;br /&gt;
         /wx2.8&lt;br /&gt;
      /lib&lt;br /&gt;
         /wx&lt;br /&gt;
            /include&lt;br /&gt;
               /gtk2-unicode-release-2.8 &amp;lt;--- the symlink you just created&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting the build options in Code::Blocks ==&lt;br /&gt;
Select the menu &#039;&#039;Project|Properties&#039;&#039; and then copy the desired build configuration, renaming it accordingly (like &#039;&#039;Release32&#039;&#039;, for instance). Don&#039;t forget to edit the directories for the executable and obj files, otherwise you&#039;ll overwrite your previous build (or worse).&lt;br /&gt;
&lt;br /&gt;
You&#039;ll have to remove the build options from the overall project to the specific options you created, that is, the &#039;&#039;compiler/other options&#039;&#039; and &#039;&#039;linker/other options&#039;&#039; have to be erased from the top level and copied to the &#039;&#039;Debug&#039;&#039; and &#039;&#039;Release&#039;&#039; build options.&lt;br /&gt;
&lt;br /&gt;
Then, set them for the new build target as follows:&lt;br /&gt;
- &#039;&#039;compiler/other options&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-m32 `wx-config --prefix=/usr/i32 --cflags`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
- &#039;&#039;linker/other options&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-m32 `wx-config --libs`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And that&#039;s it.&lt;br /&gt;
== Final remarks ==&lt;br /&gt;
Loading the &#039;&#039;mulitilib&#039;&#039; support packages allows you not only to build, but also &#039;&#039;run&#039;&#039; the 32 bit apps under your 64 bit system.&lt;br /&gt;
&lt;br /&gt;
If you use additional packages, other than the basic stuff needed to create a wxWidgets app, you will have to either locate existing 32 bit distributions of the corresponding libraries or rebuild them with the -m32 option for the compiler and linker (and possibly other tools, I don&#039;t know).&lt;br /&gt;
&lt;br /&gt;
Hope this helps.&lt;br /&gt;
&lt;br /&gt;
[[User:Kencamargo|Kencamargo]] 23:39, 30 January 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Kencamargo</name></author>
	</entry>
	<entry>
		<id>https://wiki.next.codeblocks.org/index.php?title=User_documentation&amp;diff=6269</id>
		<title>User documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.next.codeblocks.org/index.php?title=User_documentation&amp;diff=6269"/>
		<updated>2010-01-30T23:02:11Z</updated>

		<summary type="html">&lt;p&gt;Kencamargo: /* Compilers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:User Documentation]]&lt;br /&gt;
== Official user document ==&lt;br /&gt;
The Official Code::Blocks user document can be found [https://www.codeblocks.org/user-manual here]&lt;br /&gt;
&lt;br /&gt;
== Articles for Code::Blocks users ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Installing Code::Blocks]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:How to install Code::Blocks (from binary or source)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Keyboard Shortcuts]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:List of keyboard shortcuts that can be used in Code::Blocks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Command line arguments]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:List of command-line arguments that can be used with Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Personalities]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Customize the Code::Blocks user interface for different workflows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Code::Blocks Plugins]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:List of plugins that come with Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[The build process of Code::Blocks]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:Information about how Code::Blocks actually builds your source code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Scripting Code::Blocks]]&#039;&#039;&#039;&lt;br /&gt;
:Information about scripting Code::Blocks with [http://www.squirrel-lang.org/ Squirrel].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[wxSmith tutorials]]&#039;&#039;&#039;&lt;br /&gt;
:Information about how to use wxSmith RAD editor&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Building an Non-Unicode Win32 Code::Blocks]]&#039;&#039;&#039;&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;
&#039;&#039;&#039;[[Miscellaneous]]&#039;&#039;&#039;&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;
* [[Using Xming for remote compilation]]&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;
* [[Developing 32 bit apps under 64 bit Linux (Ubuntu)]]&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;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;
* [[Using Allegro with Code::Blocks]]&lt;br /&gt;
&lt;br /&gt;
== Third-party Applications ==&lt;br /&gt;
&lt;br /&gt;
* [[KiCadBuildQuickRef|How-to build KiCad with Code::Blocks]]&lt;/div&gt;</summary>
		<author><name>Kencamargo</name></author>
	</entry>
</feed>