https://wiki.codeblocks.org/api.php?action=feedcontributions&user=Sethjackson&feedformat=atomCode::Blocks - User contributions [en]2024-03-19T13:22:40ZUser contributionsMediaWiki 1.35.0https://wiki.codeblocks.org/index.php?title=User:Sethjackson&diff=5760User:Sethjackson2008-12-20T02:34:38Z<p>Sethjackson: Removing all content from page</p>
<hr />
<div></div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Help_plugin&diff=4290Help plugin2006-12-06T20:54:39Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Contrib Plugins]]<br />
{{Infobox_Plugin|<br />
name = Help |<br />
logo = [[Image:help-plugin.png]] |<br />
developer = [[User:Ceniza|Paúl Andrés Jiménez]] |<br />
maintainer = Paúl Andrés Jiménez |<br />
version = <br />
}}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=File:Help-plugin.png&diff=4289File:Help-plugin.png2006-12-06T20:54:25Z<p>Sethjackson: Add help plugin logo</p>
<hr />
<div>Add help plugin logo</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Keyboard_Shortcuts_plugin&diff=4276Keyboard Shortcuts plugin2006-12-04T23:32:15Z<p>Sethjackson: </p>
<hr />
<div>[[Category: Code::Blocks Contrib Plugins]]<br />
{{Infobox_Plugin|<br />
name = Keyboard Shortcuts |<br />
logo = [[Image:Generic-plugin.png]] |<br />
developer = [[User:Pecan|Pecan]] |<br />
maintainer = Pecan |<br />
version = <br />
}}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Help_plugin&diff=4275Help plugin2006-12-04T23:30:36Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Contrib Plugins]]<br />
{{Infobox_Plugin|<br />
name = Help |<br />
logo = [[Image:Generic-plugin.png]] |<br />
developer = [[User:Ceniza|Paúl Andrés Jiménez]] |<br />
maintainer = Paúl Andrés Jiménez |<br />
version = <br />
}}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=C::B_Games_plugin&diff=4274C::B Games plugin2006-12-04T23:29:51Z<p>Sethjackson: </p>
<hr />
<div>[[Category: Code::Blocks Contrib Plugins]]<br />
{{Infobox_Plugin|<br />
name = C::B Games |<br />
logo = [[Image:Generic-plugin.png]] |<br />
developer = [[User:Byo|Bartlomiej Swiecki]] |<br />
maintainer = Bartlomiej Swiecki |<br />
version = <br />
}}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Help_plugin&diff=4273Help plugin2006-12-04T23:26:01Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Contrib Plugins]]<br />
{{Infobox_Plugin|<br />
name = Help |<br />
logo = [[Image:Generic-plugin.png]] |<br />
developer = [[User:Ceniza|Ceniza]] |<br />
maintainer = Ceniza |<br />
version = <br />
}}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins&diff=4272Code::Blocks Plugins2006-12-04T23:20:42Z<p>Sethjackson: </p>
<hr />
<div>[[Category: User Documentation]]<br />
Code::Blocks' features can be extend by using '''plugins'''. Plugins listed here are divided into two categories: ''core'' and ''contrib''.<br />
<br />
=== Core Plugins ===<br />
<br />
The core plugins are installed by default and offer the basic functions of Code::Blocks. The core plugins are maintained / developed by the official development team.<br />
<br />
'''[[Autosave plugin|Autosave]]'''<br />
<br />
:Saves project files between intervals.<br />
<br />
'''[[Class Wizard plugin|Class Wizard]]'''<br />
<br />
:Provides wizard for creating new classes.<br />
<br />
'''[[Code Completion plugin|Code Completion]]'''<br />
<br />
:Provides code completion functionality and class browser.<br />
<br />
'''[[Compiler plugin|Compiler]]'''<br />
<br />
:Provides support for various compilers in one interface.<br />
<br />
'''[[Debugger plugin|Debugger]]'''<br />
<br />
:Provides support for various debuggers in one interface.<br />
<br />
'''[[File Extension Handler plugin|File Extensions Handler]]'''<br />
<br />
:Adds extra file extension handlers.<br />
<br />
'''[[Scripted Wizard plugin|Scripted Wizard]]'''<br />
<br />
:Provides scripted wizard functionality.<br />
<br />
'''[[Source Code Formatter plugin|Source Code Formatter]]'''<br />
<br />
:Formats source code files with specific style.<br />
<br />
'''[[To-Do List plugin|To-Do List]]'''<br />
<br />
:Adds to-do items to source code.<br />
<br />
'''[[WinXP Look'n'Feel plugin|WinXP Look'n'Feel]]'''<br />
<br />
:Creates manifest file which enables the version 6.0 of the Common Controls on Windows XP.<br />
<br />
=== Contrib Plugins ===<br />
<br />
The user-''contrib''uted plugins are not installed by default and offer extended functionality for Code::Blocks. The contrib plugins are maintained / developed by third-party developers.<br />
<br />
'''[[C::B Games plugin|C::B Games]]'''<br />
<br />
:Games in a integrated development environment? You bet.<br />
<br />
'''[[Code Profiler plugin|Code Profiler]]'''<br />
<br />
:Provides graphical interface to GNU GProf profiler.<br />
<br />
'''[[Code Snippets plugin|Code Snippets]]'''<br />
<br />
:Manages small pieces of code (i.e. snippets).<br />
<br />
'''[[Code Statistics plugin|Code Statistics]]'''<br />
<br />
:Shows various statistics from source code files.<br />
<br />
'''[[Copy Strings to Clipboard plugin|Copy Strings to Clipboard]]'''<br />
<br />
:Copies literal strings from the current editor to clipboard.<br />
<br />
'''[[DevPak Installer plugin|DevPak Installer]]'''<br />
<br />
:Installs and updates DevC++ DevPaks.<br />
<br />
'''[[DragScroll plugin|DragScroll]]'''<br />
<br />
:Enables dragging and scrolling with mouse.<br />
<br />
'''[[Environment Variables plugin|Environment Variables]]'''<br />
<br />
:Sets environment variables within the focus of Code::Blocks.<br />
<br />
'''[[Help plugin]]'''<br />
<br />
:Integrates third-party help files to the interface.<br />
<br />
'''[[Keyboard Shortcuts plugin|Keyboard Shortcuts]]'''<br />
<br />
:Manages menu shortcuts.<br />
<br />
'''[[Source Exporter plugin|Source Exporter]]'''<br />
<br />
:Exports source code files to other formats such as HTML and PDF.<br />
<br />
'''[[wxSmith plugin|wxSmith]]'''<br />
<br />
:RAD tool for creating wxWidgets dialogs.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Main_Page&diff=4271Main Page2006-12-04T23:17:37Z<p>Sethjackson: </p>
<hr />
<div>__NOEDITSECTION__ __NOTOC__<br />
{{Layout_box1|1=<br />
[[Image:cb_splash.png|left]]<br />
'''Welcome to the official Wiki for Code::Blocks'''<br><br />
[https://www.codeblocks.org Code::Blocks] is an open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.<br><br />
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++.<br />
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.<br />
<br />
<br />
<small>Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.<br />
</small><br />
}}<br />
<br />
{|width="100%" background-color="transparent" <br />
|width="60%" valign="top"|<br />
<!-- LEFT --><br />
{{Layout_box3|1=<br />
=== [[Installing Code::Blocks]] ===<br />
}}<br />
<br />
{{Layout_box2|1=<br />
=== [[Code::Blocks Documentation|Documentation]] ===<br />
}}<br />
<br />
{{Layout_box3|1=<br />
=== Supported compilers ===<br />
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)<br />
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)<br />
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)<br />
* [http://msdn.microsoft.com/visualc/vctoolkit2003 Microsoft Visual C++ Toolkit 2003] (Win32) (Toolkit was removed from the msdn site)<br />
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)<br />
* [http://www.borland.com/products/downloads/download_cbuilder.html Borland's C++ Compiler 5.5] (Win32)<br />
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)<br />
* [http://store.scitechsoft.com/product_info.php?products_id=37/ OpenWatcom] (Win32)<br />
* [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/219754.htm Intel C++ compiler] (Win32)<br />
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]<br />
* [http://www.digitalmars.com/d/dcompiler.html Digital Mars D] (Win32, Linux)<br />
* [http://dgcc.sourceforge.net/ GDC D Compiler]<br />
}}<br />
|width="40%" valign="top"|<br />
<!-- RIGHT --><br />
{{Layout_box4|1=<br />
=== Downloads ===<br />
* [/index.php?board=20.0 Nightly builds] (updated each night)<br />
* Last official release: [https://www.codeblocks.org/downloads.shtml 1.0rc2]<br />
}}<br />
{{Layout_box2|1=<br />
=== Developers ===<br />
[[Image:Chk.png]][[Roadmap]] <br />
* [[Developer documentation]]<br />
* [http://developer.berlios.de/projects/codeblocks/ Project page at BerliOS]<br />
* '''Bugs''': [http://developer.berlios.de/bugs/?group_id=5358 Browse] or [http://developer.berlios.de/bugs/?func=addbug&group_id=5358 submit new]<br />
* '''Features''': [http://developer.berlios.de/feature/?group_id=5358 Browse] or [http://developer.berlios.de/feature/?func=addfeature&group_id=5358 submit new]<br />
* '''Patches''': [http://developer.berlios.de/patch/?group_id=5358 Browse] or [http://developer.berlios.de/patch/?func=addpatch&group_id=5358 submit new]<br />
}}<br />
{{Layout_box2|1=<br />
=== Other resources ===<br />
* [https://www.codeblocks.org Main website]<br />
* [ Community forums]<br />
}}<br />
|}<br />
<br />
<br />
<center>[https://www.codeblocks.org/about.shtml The Code::Blocks team]</center><br />
<br />
<center>[[Special:Allpages|Index]]</center></div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=FAQ&diff=4255FAQ2006-11-30T22:40:52Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Documentation]]<br />
== General ==<br />
<br />
==== Q: Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret? ====<br />
<br />
'''A:''' Integration of the Win32 API helpfile should be a no-brainer. Someone could just write a really simple plugin and, upon invocation (through a shortcut possibly), look at the word under the cursor and invoke windows help... If you think you 're up to the task, I can help you with all the info you need. If not, I could write it myself but no promises on a release date ;)<br />
<br />
==== Q: What licence is Code::Blocks released under? ====<br />
<br />
'''A:''' GNU General Public License 2 ([http://www.gnu.org/licenses/gpl.txt GPL])<br />
<br />
== Compiling ==<br />
<br />
==== Q: What compiler can I use with Code::Blocks? ====<br />
<br />
'''A:''' Code::Blocks philosophy is to be able to use any compiler on earth! Well, almost.<br />
<br />
As a matter of fact it largely depends on the used compiler plugin. The one provided with the default Code::Blocks installation, supports GNU GCC (MinGW/Cygwin), MS Visual C++ Free Toolkit 2003, Borland's C++ Compiler 5.5, DigitalMars Free Compiler., OpenWatcom and Small Device C Compiler (SDCC).<br />
<br />
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====<br />
<br />
'''A:''' A little documentation problem ^^;. The "default compiler" is usually GCC, so when you imported it with "the default compiler", you told it to use GCC. To fix this situation, go to "Project", "Build Options" and select VC++ Toolkit as your compiler.<br />
<br />
Another possibility is to put the Microsoft compiler as the default one. To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.<br />
<br />
From now onwards, for all new projects the Microsoft compiler will be taken by default.<br />
<br />
==== Q: My project should be compiled with a custom makefile. Is it possible with Code::Blocks? ====<br />
<br />
'''A:''' Yes, you can. You need to change two different settings:<br />
<br />
a) In "Compiler Settings", under the tab "Other", there's a setting called "Build Method". Choose "Work with makefiles".<br />
<br />
b) In your project's Properties, you can choose to use a makefile. Check "This is a custom makefile" (WARNING! if you forget to check, the makefile will be OVERWRITTEN!)<br />
<br />
And that's it! :)<br />
<br />
==== Q: I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler? ====<br />
<br />
'''A:''' Click on "Project/Build options" and select the compiler you want for your project/target.<br />
<br />
==== Q: When compiling a wxWidgets project, I get several "variable 'vtable for xxxx' can't be auto-imported". What's wrong? ====<br />
<br />
'''A:''' You need to add WXUSINGDLL in "Project->Build options->Compiler #defines" and rebuild your project (or create a new project and use the "Using wxWidgets DLL" project option which adds "-DWXUSINGDLL" to Project->Build options->Other options).<br />
Other errors with the same resolution are:<br />
'unresolved external symbol "char const * const wxEmptyString" (?wxEmptyString@@3PBDB)' or similar.<br />
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.<br />
<br />
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====<br />
<br />
'''A:''' Sorry, no fix for your problem...<br />
<br />
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which are coming with Visual C++ (VC) which isn't free, unfortunately.<br />
<br />
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]<br />
<br />
The libraries that can be obtained free of charge are:<br />
<br />
Paths:<br />
(VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib<br />
(PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib<br />
(NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib<br />
<br />
C runtime libs:<br />
LIBC.LIB Single-threaded, static link (VCT3, NSDK)<br />
LIBCMT.LIB Multithreaded, static link (VCT3, NSDK)<br />
MSVCRT.LIB Multithreaded, dynamic link (import library for MSVCR71.DLL) (NSDK)<br />
LIBCD.LIB Single-threaded, static link (debug) (VCT3, NSDK)<br />
LIBCMTD.LIB Multithreaded, static link (debug) (NSDK)<br />
MSVCRTD.LIB Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)<br />
<br />
C++ libs:<br />
LIBCP.LIB Single-threaded, static link (VCT3, PSDK)<br />
LIBCPMT.LIB Multithreaded, static link (VCT3)<br />
MSVCPRT.LIB Multithreaded, dynamic link (import library for MSVCP71.dll) (none)<br />
LIBCPD.LIB Single-threaded, static link (debug) (VCT3)<br />
LIBCPMTD.LIB Multithreaded, static link (debug) (none)<br />
MSVCPRTD.LIB Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)<br />
<br />
Try setting the library linker directories to:<br />
C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib<br />
C:\Program Files\Microsoft Platform SDK\Lib<br />
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib<br />
in that order.<br />
<br />
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory. Not sure if these would work on 32-bit windows, however, they may if they are<br />
meant to work in 32-bit compatibility mode on the 64-bit processors. Worth a try. Otherwise, you<br />
can link statically to the C++ library instead of using MSVCP71.dll. If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed. Search google for "exports.sed" for detailed steps.<br />
<br />
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]<br />
<br />
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp<br />
<br />
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit<br />
<br />
==== Q: Microsoft calls MSVCRT.DLL a "Known DLL." How do I know if I can/should use it ? ====<br />
<br />
Microsoft does not clearly describe what [http://msdn2.microsoft.com/en-us/library/abx4dbyh.aspx 'Known DLL'] means. A [http://www.zlib.net/DLL_FAQ.txt zLib FAQ entry] makes it much more clear. The short answer is that MSVCRT.DLL is a protected system component and to preserve system integrity it cannot be updated by any end user product installers but may be updated from time to time by system updates. If it works use it. If it doesn't you'll need use a non protected library such as MSVCR70 or MSVCR80 which not only can be updated but private versions can be installed. A small and simple C program is likely to work just fine with MSVCRT.DLL. A large and complex C++ program is more likely to need the additional functionality of MSVCR.<br />
<br />
The MSVCRT.LIB that ships with Visual C++ Toolkit 2003 dynamically links to MSVCR71.DLL which is not present in a freshly installed Windows XP system. MSVCR only appears after some software package that needs it such as [http://www.adobe.com/ Adobe Acrobat Reader] is installed. This means that programs that depend on MSVCR must redistribute it or risk not working on a substantial percentage of systems for reasons not obvious to either the affected end users or the program supplier. For projects that can safely use MSVCRT and where it is impractical to redistribute MSVCR, a MSVCRT.LIB that links to MSVCRT.DLL is available in any [http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx Device Driver Kit]. It is best to preserve the MSVCRT.LIB provided by the compiler and alter the name of the MSVCRT.LIB extracted from a DDK. List your newly named MSVCRTxx in the libs and to prevent problems it is recommended to include both /MD and /NODEFAULTLIB:MSVCRT switches so that problems come up at link time instead of random crashes at run time. Be sure to load your programs into [http://www.dependencywalker.com/ Dependancy Walker] to ensure that functions aren't being linked into MSVCRxx.DLL and MSVCRT.DLL. It is essential that malloc, calloc, realloc, free, and related memory allocation functions all import from the same DLL. If you use MSVCRT.LIB from the Windows 2003 DDK you may encounter the link '''error LNK2001: unresolved external symbol ___security_cookie'''. This can be solved by switching to the MSVCRT.LIB in the Windows XP DDK or by linking '''bufferoverflowU.lib''' found in the Windows SDK.<br />
<br />
Source: [http://wiki.tcl.tk/11431 TCL Wiki]<br />
<br />
==== Q: How can I use a DLL without DEF or LIB files ? ====<br />
<br />
'''A:''' I tried to find a solution, and the following script solved the problem for me. I used a cygwin environment for ''tclsh'' and ''sed'', but the MinGW tools for ''objdump'' and ''dlltool''. See here [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]<br />
<br />
TODO: Someone might add some informations about problems<br />
<br />
Request: Is MinGW or Code::Blocks able to support automatic generation of import libraries ?<br />
<br />
See also: http://www.mingw.org/mingwfaq.shtml#faq-msvcdll<br />
<br />
See also: http://wyw.dcweb.cn/stdcall.htm<br />
<br />
==== Q: Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects? ====<br />
<br />
'''A:''' They're not bundled. The templates were provided for your convenience, but you need to download the libraries on your own.<br />
In common terms, "batteries not included" :)<br />
<br />
==== Q: Is it possible to use Visual C++ 6.0 with Code::Blocks? ====<br />
<br />
'''A:''' Yes. See [[Integrating Microsoft Visual C 6 with Code::Blocks IDE]] for a detailed description on using VC++ 6.0 with Code::Blocks.<br />
<br />
==== Q: I get this error when compiling: Symbol "isascii" was not found in "codeblocks.dll" ====<br />
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.<br />
<br />
==== Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist? ====<br />
'''A:''' You can specify them for your global environment or just for your project.<br />
<br />
For global environment :<br /><br />
- Menu <i>Settings/Compiler and debugger</i><br /><br />
- In the <i>Global compiler settings</i>, select the directories tab<br /><br />
- Add the required paths for compiler and linker.<br /><br />
<br /><br />
For your project :<br /><br />
- Right click on the project then select <i>Build options</i><br /><br />
- Select the directories tab<br /><br />
- Add the required paths for compiler and linker.<br /><br />
- Add your specific libraries in the linker tab.<br /><br />
- Pay attention to project settings and target settings.<br />
<br />
== Settings ==<br />
<br />
==== Q: How do I get Code Completion to work? ====<br />
'''A:''' Did you check how code completion is configured ?<br />
See "Settings/Editor", click on "Code-completion and symbols browser" in the left column and check the Code completion and C/C++ parser tabs.<br />
<br />
From the 2006/11/30 nightly build, you can also add directories to parse in the project properties, ie right click on the project, click on Properties and select the C/C++ parser options.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=FAQ&diff=4254FAQ2006-11-30T22:39:30Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Documentation]]<br />
== General ==<br />
<br />
==== Q: Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret? ====<br />
<br />
'''A:''' Integration of the win32 API helpfile should be a no-brainer. Someone could just write a really simple plugin and, upon invocation (through a shortcut possibly), look at the word under the cursor and invoke windows help... If you think you 're up to the task, I can help you with all the info you need. If not, I could write it myself but no promises on a release date ;)<br />
<br />
==== Q: What licence is Code::Blocks released under? ====<br />
<br />
'''A:''' GNU General Public License 2 ([http://www.gnu.org/licenses/gpl.txt GPL])<br />
<br />
== Compiling ==<br />
<br />
==== Q: What compiler can I use with Code::Blocks? ====<br />
<br />
'''A:''' Code::Blocks philosophy is to be able to use any compiler on earth! Well, almost.<br />
<br />
As a matter of fact it largely depends on the used compiler plugin. The one provided with the default Code::Blocks installation, supports GNU GCC (MinGW/Cygwin), MS Visual C++ Free Toolkit 2003, Borland's C++ Compiler 5.5, DigitalMars Free Compiler., OpenWatcom and Small Device C Compiler (SDCC).<br />
<br />
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====<br />
<br />
'''A:''' A little documentation problem ^^;. The "default compiler" is usually GCC, so when you imported it with "the default compiler", you told it to use GCC. To fix this situation, go to "Project", "Build Options" and select VC++ Toolkit as your compiler.<br />
<br />
Another possibility is to put the Microsoft compiler as the default one. To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.<br />
<br />
From now onwards, for all new projects the Microsoft compiler will be taken by default.<br />
<br />
==== Q: My project should be compiled with a custom makefile. Is it possible with Code::Blocks? ====<br />
<br />
'''A:''' Yes, you can. You need to change two different settings:<br />
<br />
a) In "Compiler Settings", under the tab "Other", there's a setting called "Build Method". Choose "Work with makefiles".<br />
<br />
b) In your project's Properties, you can choose to use a makefile. Check "This is a custom makefile" (WARNING! if you forget to check, the makefile will be OVERWRITTEN!)<br />
<br />
And that's it! :)<br />
<br />
==== Q: I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler? ====<br />
<br />
'''A:''' Click on "Project/Build options" and select the compiler you want for your project/target.<br />
<br />
==== Q: When compiling a wxWidgets project, I get several "variable 'vtable for xxxx' can't be auto-imported". What's wrong? ====<br />
<br />
'''A:''' You need to add WXUSINGDLL in "Project->Build options->Compiler #defines" and rebuild your project (or create a new project and use the "Using wxWidgets DLL" project option which adds "-DWXUSINGDLL" to Project->Build options->Other options).<br />
Other errors with the same resolution are:<br />
'unresolved external symbol "char const * const wxEmptyString" (?wxEmptyString@@3PBDB)' or similar.<br />
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.<br />
<br />
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====<br />
<br />
'''A:''' Sorry, no fix for your problem...<br />
<br />
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which are coming with Visual C++ (VC) which isn't free, unfortunately.<br />
<br />
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]<br />
<br />
The libraries that can be obtained free of charge are:<br />
<br />
Paths:<br />
(VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib<br />
(PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib<br />
(NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib<br />
<br />
C runtime libs:<br />
LIBC.LIB Single-threaded, static link (VCT3, NSDK)<br />
LIBCMT.LIB Multithreaded, static link (VCT3, NSDK)<br />
MSVCRT.LIB Multithreaded, dynamic link (import library for MSVCR71.DLL) (NSDK)<br />
LIBCD.LIB Single-threaded, static link (debug) (VCT3, NSDK)<br />
LIBCMTD.LIB Multithreaded, static link (debug) (NSDK)<br />
MSVCRTD.LIB Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)<br />
<br />
C++ libs:<br />
LIBCP.LIB Single-threaded, static link (VCT3, PSDK)<br />
LIBCPMT.LIB Multithreaded, static link (VCT3)<br />
MSVCPRT.LIB Multithreaded, dynamic link (import library for MSVCP71.dll) (none)<br />
LIBCPD.LIB Single-threaded, static link (debug) (VCT3)<br />
LIBCPMTD.LIB Multithreaded, static link (debug) (none)<br />
MSVCPRTD.LIB Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)<br />
<br />
Try setting the library linker directories to:<br />
C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib<br />
C:\Program Files\Microsoft Platform SDK\Lib<br />
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib<br />
in that order.<br />
<br />
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory. Not sure if these would work on 32-bit windows, however, they may if they are<br />
meant to work in 32-bit compatibility mode on the 64-bit processors. Worth a try. Otherwise, you<br />
can link statically to the C++ library instead of using MSVCP71.dll. If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed. Search google for "exports.sed" for detailed steps.<br />
<br />
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]<br />
<br />
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp<br />
<br />
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit<br />
<br />
==== Q: Microsoft calls MSVCRT.DLL a "Known DLL." How do I know if I can/should use it ? ====<br />
<br />
Microsoft does not clearly describe what [http://msdn2.microsoft.com/en-us/library/abx4dbyh.aspx 'Known DLL'] means. A [http://www.zlib.net/DLL_FAQ.txt zLib FAQ entry] makes it much more clear. The short answer is that MSVCRT.DLL is a protected system component and to preserve system integrity it cannot be updated by any end user product installers but may be updated from time to time by system updates. If it works use it. If it doesn't you'll need use a non protected library such as MSVCR70 or MSVCR80 which not only can be updated but private versions can be installed. A small and simple C program is likely to work just fine with MSVCRT.DLL. A large and complex C++ program is more likely to need the additional functionality of MSVCR.<br />
<br />
The MSVCRT.LIB that ships with Visual C++ Toolkit 2003 dynamically links to MSVCR71.DLL which is not present in a freshly installed Windows XP system. MSVCR only appears after some software package that needs it such as [http://www.adobe.com/ Adobe Acrobat Reader] is installed. This means that programs that depend on MSVCR must redistribute it or risk not working on a substantial percentage of systems for reasons not obvious to either the affected end users or the program supplier. For projects that can safely use MSVCRT and where it is impractical to redistribute MSVCR, a MSVCRT.LIB that links to MSVCRT.DLL is available in any [http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx Device Driver Kit]. It is best to preserve the MSVCRT.LIB provided by the compiler and alter the name of the MSVCRT.LIB extracted from a DDK. List your newly named MSVCRTxx in the libs and to prevent problems it is recommended to include both /MD and /NODEFAULTLIB:MSVCRT switches so that problems come up at link time instead of random crashes at run time. Be sure to load your programs into [http://www.dependencywalker.com/ Dependancy Walker] to ensure that functions aren't being linked into MSVCRxx.DLL and MSVCRT.DLL. It is essential that malloc, calloc, realloc, free, and related memory allocation functions all import from the same DLL. If you use MSVCRT.LIB from the Windows 2003 DDK you may encounter the link '''error LNK2001: unresolved external symbol ___security_cookie'''. This can be solved by switching to the MSVCRT.LIB in the Windows XP DDK or by linking '''bufferoverflowU.lib''' found in the Windows SDK.<br />
<br />
Source: [http://wiki.tcl.tk/11431 TCL Wiki]<br />
<br />
==== Q: How can I use a DLL without DEF or LIB files ? ====<br />
<br />
'''A:''' I tried to find a solution, and the following script solved the problem for me. I used a cygwin environment for ''tclsh'' and ''sed'', but the MinGW tools for ''objdump'' and ''dlltool''. See here [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]<br />
<br />
TODO: Someone might add some informations about problems<br />
<br />
Request: Is MinGW or Code::Blocks able to support automatic generation of import libraries ?<br />
<br />
See also: http://www.mingw.org/mingwfaq.shtml#faq-msvcdll<br />
<br />
See also: http://wyw.dcweb.cn/stdcall.htm<br />
<br />
==== Q: Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects? ====<br />
<br />
'''A:''' They're not bundled. The templates were provided for your convenience, but you need to download the libraries on your own.<br />
In common terms, "batteries not included" :)<br />
<br />
==== Q: Is it possible to use Visual C++ 6.0 with Code::Blocks? ====<br />
<br />
'''A:''' Yes. See [[Integrating Microsoft Visual C 6 with Code::Blocks IDE]] for a detailed description on using VC++ 6.0 with Code::Blocks.<br />
<br />
==== Q: I get this error when compiling: Symbol "isascii" was not found in "codeblocks.dll" ====<br />
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.<br />
<br />
==== Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist? ====<br />
'''A:''' You can specify them for your global environment or just for your project.<br />
<br />
For global environment :<br /><br />
- Menu <i>Settings/Compiler and debugger</i><br /><br />
- In the <i>Global compiler settings</i>, select the directories tab<br /><br />
- Add the required paths for compiler and linker.<br /><br />
<br /><br />
For your project :<br /><br />
- Right click on the project then select <i>Build options</i><br /><br />
- Select the directories tab<br /><br />
- Add the required paths for compiler and linker.<br /><br />
- Add your specific libraries in the linker tab.<br /><br />
- Pay attention to project settings and target settings.<br />
<br />
== Settings ==<br />
<br />
==== Q: How do I get Code Completion to work? ====<br />
'''A:''' Did you check how code completion is configured ?<br />
See "Settings/Editor", click on "Code-completion and symbols browser" in the left column and check the Code completion and C/C++ parser tabs.<br />
<br />
From the 2006/11/30 nightly build, you can also add directories to parse in the project properties, ie right click on the project, click on Properties and select the C/C++ parser options.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD&diff=4243Installing Code::Blocks from source on FreeBSD2006-11-29T17:27:43Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
== Prerequisites ==<br />
<br />
=== wxWidgets ===<br />
<br />
pkg_add -r wxgtk2-unicode<br />
<br />
=== SVN client === <br />
<br />
pkg_add -r subversion<br />
<br />
=== GNU autoconf ===<br />
<br />
pkg_add -r gnu-autoconf<br />
<br />
=== GNU automake ===<br />
<br />
pkg_add -r gnu-automake<br />
<br />
=== GNU libtool ===<br />
<br />
pkg_add -r gnu-libtool<br />
<br />
=== zip ===<br />
<br />
pkg_add -r zip<br />
<br />
== Code::Blocks ==<br />
<br />
=== Sources ===<br />
<br />
http://codeblocks.org/source_code.shtml<br />
<br />
mkdir codeblocks <br />
svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk codeblocks<br />
<br />
=== Building ===<br />
<br />
# sh:<br />
export PATH=/usr/local/gnu-autotools/bin:$PATH<br />
export ACLOCAL_FLAGS="-I /usr/X11R6/share/aclocal -I /usr/local/share/aclocal"<br />
# csh:<br />
setenv PATH /usr/local/gnu-autotools/bin:$PATH<br />
setenv ACLOCAL_FLAGS "-I /usr/X11R6/share/aclocal -I /usr/local/share/aclocal"<br />
<br />
cd codeblocks<br />
./bootstrap<br />
./configure --with-wx-config=wxgtk2u-2.6-config --enable-contrib<br />
make<br />
su -<br />
make install<br />
<br />
== Ports/Packages ==<br />
<br />
=== codeblocks ===<br />
<br />
http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/codeblocks/<br />
<br />
Currently 1.0RC2 (last stable)</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&diff=4242Installing Code::Blocks from source on Windows2006-11-29T17:27:31Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
== Prerequisites ==<br />
<br />
'''Note for RC2 users'''<br />
<br />
The older Code::Blocks RC2 does not support global compiler variables which were added after RC2 was released and is unable to read project files generated with post-RC2 versions.<br />
To build Code::Blocks, you need a post-RC2 build, such as any of the ''nightly builds'' obtainable by [/index.php?board=20.0 searching the forum].<br />
<br />
=== MinGW compiler ===<br />
<br />
At the present time, Code::Blocks only compiles successfully with the MinGW compiler (or any other gcc for that matter). You will need a complete, working [[MinGW installation]].<br />
<br />
=== wxWidgets ===<br />
<br />
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).<br/><br />
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].<br />
<br />
<br />
You do ''not'' need MSYS (''in fact, if you have MSYS, make sure it is not in your PATH when building wxWidgets'').<br />
<br />
=== SVN client ===<br />
<br />
In order to check out the Code::Blocks sources you will need a SVN client.<br />
For convenience, it is recommended that you install [http://tortoisesvn.tigris.org/download.html TortoiseSVN] on your machine, as this is a lot more comfortable. However, if you get a bad feeling when some program is messing with your Explorer menu, then you can use the [http://subversion.tigris.org/project_packages.html svn command-line client] equally well.<br />
<br />
It is generally a good idea to install the command-line client (and adding it to PATH) even if you use TortoiseSVN for convenience. The <tt>autorevision</tt> tool which is used during the build of Code::Blocks makes use of the <tt>svn</tt> binary if it is available. This is preferrable to the manual parsing of the entries file that is used as fallback.<br />
<br />
<br />
Please do note that working copies checked out with the 1.4 version of Subversion are no longer compatible with earlier versions (Subversion will transparently update existing repositories).<br />
<br />
The builtin fallback mechanism in <tt>autorevision</tt> has been updated to the new 1.4 format and will no longer work with the old format.<br><br />
Therefore, if you use a Subversion client from the 1.0-1.3 line, you ''must'' put the commandline tool into <tt>PATH</tt> for a successful build.<br><br />
If you use Subversion 1.4, then it is good practice nevertheless, but you can do without, too.<br />
<br />
=== zip.exe ===<br />
<br />
You'll also need a working 'zip' program.<br />
If you have the version listed on our [https://wiki.codeblocks.org/index.php?title=Mingw#Other_developer_tools tools page], you'll be fine, alternatively you can use the one found [http://www.info-zip.org/ here].<br />
<br />
The zip program coming with cygwin will ''not'' work properly. You do ''not'' need WinZip.<br />
<br />
Make sure the zip binary is in your PATH so the <tt>update.bat</tt> script will be able to find it (alternatively, you can edit the batch file, setting the ZIPCMD variable to something else).<br />
<br />
The easiest way is to put zip.exe into <tt>bin</tt> inside your MinGW installation directory (that folder is normally in the path).<br />
<br />
=== Code::Blocks sources ===<br />
<br />
You will also (obviously) need the Code::Blocks sources. <br />
<br />
Using ''TortoiseSVN'', make a folder where you want to store the sources, right-click on the folder, and select "SVN Checkout...".<br />
<br />
In the top box, enter svn://svn.berlios.de/codeblocks/trunk and hit the OK button.<br />
<br />
Using ''svn'', you have to open a command prompt ("DOS Window"). Make a folder, change directory, and run svn:<br />
<br />
mkdir codeblocks-head<br />
cd codeblocks-head<br />
svn checkout svn://svn.berlios.de/codeblocks/trunk<br />
<br />
== Building ==<br />
<br />
=== Unicode Build ===<br />
<br />
==== Compile wxWidgets in Unicode mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets:<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx). Enter the location where you unpacked wxWidgets.<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy <tt>lib\gcc_dll\wxmsw26u_gcc_custom.dll</tt> from the wxWidgets directory to the <tt>src\devel</tt> directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into dll hell).<br />
<br />
Run <tt>src\update.bat</tt> (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The stripped ("production") executable is found in <tt>output</tt> together with all libraries and data files. If you want a version with debug symbols instead (caution: huge size!), use the one found in the <tt>devel</tt> folder.<br><br />
Congratulations, you own a freshly built version of Code::Blocks!<br />
<br />
For future updates, go into the Code::Blocks root directory and run <tt>svn update</tt> (or use TurtoiseSVN to the same effect).<br/><br />
Then open and build the project as described before (and any contrib plugins that you wish to use), and re-run <tt>src\update.bat</tt>.<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all).<br/><br />
When you open the contrib plugins workspace, you will be asked to define the <tt>$(#cb)</tt> global compiler variable. The build process uses this information to place the plugins and data files into the correct place. Enter the location of the Code::Blocks sources in the same way as for the <tt>$(#wx)</tt> variable earlier.<br />
<br />
Don't forget to run update.bat again after building the contrib plugins.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
=== ANSI Build ===<br />
<br />
<div style="background-color: #f7d9d9; border: 1px solid #000"><br />
<div style="margin: 5px;"><br />
<br />
==== DEPRECATION WARNING: ====<br />
As of February 2006, the official default build for Code::Blocks is '''Unicode''' (see above). Although ANSI builds are technically possible, we discourage their use unless there is a good reason.<br/><br />
''Support for ANSI builds is likely to be dropped after Version 1.0 is out.''<br />
<br />
There is hardly any good argument against using a Unicode build if your OS supports Unicode, even if you do not understand any other language than English, as a Unicode version guarantees that it will be able to work with whatever languages you may possibly encounter in the future -- at a very reasonable cost.<br />
<br />
However, if you absolutely don't care about Unicode or if you are bound to use Windows 95, then you may want to build an ANSI version nevertheless.<br />
<br />
</div><br />
</div><br />
<br />
==== Compile wxWidgets in ANSI mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx) if you have not used it before. Enter the location where you unpacked wxWidgets.<br />
<br />
'''Important:''' The project file is set to compile an Unicode version of Code::Blocks by default. To make an ANSI build, you have to make the following two changes to build options before compiling:<br />
1. In the "Compiler" tab, under "#defines", remove the entry wxUSE_UNICODE.<br />
2. Under "Custom variables", set the variable WX_SUFFIX to empty (default value: u).<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy wxmsw26u_gcc_custom.dll from lib\gcc_dll inside the wxWidgets directory to the devel directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into [http://en.wikipedia.org/wiki/DLL_hell dll hell] ).<br />
Run update.bat (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The location of executable is src\output in C::B tree. From here you'll not need the nighty build anymore.<br />
<br />
One little note for svn updates and rebuilds : just go into the codeblocks root directory and do '''svn update''' (or use Turtoise svn).<br />
<br />
Then run the src/output/codeblocks.exe, reload project, build it, reload plugins workspace, build it, quit codeblocks and re-run update.bat. You'll have an up-to-date C::B in 3 minutes !<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all). Don't forget to run update.bat again after building the contrib plugins.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD&diff=4241Installing Code::Blocks from source on FreeBSD2006-11-29T17:24:04Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
These are instructions on how to build Code::Blocks on FreeBSD.<br />
They have been tested with PC-BSD 1.2 (based on FreeBSD 6.1)<br />
<br />
== Prerequisites ==<br />
<br />
=== wxWidgets ===<br />
<br />
pkg_add -r wxgtk2-unicode<br />
<br />
=== SVN client === <br />
<br />
pkg_add -r subversion<br />
<br />
=== GNU autoconf ===<br />
<br />
pkg_add -r gnu-autoconf<br />
<br />
=== GNU automake ===<br />
<br />
pkg_add -r gnu-automake<br />
<br />
=== GNU libtool ===<br />
<br />
pkg_add -r gnu-libtool<br />
<br />
=== zip ===<br />
<br />
pkg_add -r zip<br />
<br />
== Code::Blocks ==<br />
<br />
=== Sources ===<br />
<br />
http://codeblocks.org/source_code.shtml<br />
<br />
mkdir codeblocks <br />
svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk codeblocks<br />
<br />
=== Building ===<br />
<br />
# sh:<br />
export PATH=/usr/local/gnu-autotools/bin:$PATH<br />
export ACLOCAL_FLAGS="-I /usr/X11R6/share/aclocal -I /usr/local/share/aclocal"<br />
# csh:<br />
setenv PATH /usr/local/gnu-autotools/bin:$PATH<br />
setenv ACLOCAL_FLAGS "-I /usr/X11R6/share/aclocal -I /usr/local/share/aclocal"<br />
<br />
cd codeblocks<br />
./bootstrap<br />
./configure --with-wx-config=wxgtk2u-2.6-config --enable-contrib<br />
make<br />
su -<br />
make install<br />
<br />
== Ports/Packages ==<br />
<br />
=== codeblocks ===<br />
<br />
http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/codeblocks/<br />
<br />
Currently 1.0RC2 (last stable)</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Compiled_packages_of_Code::Blocks&diff=4240Compiled packages of Code::Blocks2006-11-29T16:45:10Z<p>Sethjackson: /* SVN */</p>
<hr />
<div>== Stable Releases ==<br />
<br />
=== 1.0 RC2 ===<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! style="width:12em" | [[wikipedia:Operating_System|OS]]<br />
! Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary Ansi<br />
| With contrib plugins<br />
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2.exe?download Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary Ansi<br />
| With contrib plugins - With MinGW bundled<br />
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Debian-logo_32.png]] [[wikipedia:Debian|Debian]]<br />
| Sid<br />
| i386<br />
| Binary<br />
| No longer supported by the previous package author. <br />
|<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| x86<br />
| Binary<br />
| No longer supported by the previous package author.<br />
| <br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| 2005.1<br />
| x86/AMD64<br />
| Ebuild<br />
| {{dunno}}<br />
| [http://bugs.gentoo.org/attachment.cgi?id=72819 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| 2005.1<br />
| x86/AMD64<br />
| Patch<br />
| {{dunno}}<br />
| [http://bugs.gentoo.org/attachment.cgi?id=72820 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 3<br />
| i386<br />
| Binary<br />
| SRPMS compatible with wxGTK-2.4 is also [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.src.rpm available].<br />
| [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.fc3.i386.rpm Download]<br />
| Requires wxGTK-2.4 ([http://dag.wieers.com/packages/wxGTK/ Dag repository])<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 4<br />
| i386<br />
| Binary<br />
| not available any more<br />
| [http://www.neoinvent.com/cb/codeblocks-1.0-rc2.i386.rpm Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:FreeBSD-logo_32.png]] [[wikipedia:FreeBSD|FreeBSD]]<br />
| 6.1<br />
| x86<br />
| Binary<br />
| {{dunno}}<br />
| [/index.php?topic=1407.0 Download]<br />
| <br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! [[wikipedia:Operating_System|OS]]<br />
! OS Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|-<br />
|}<br />
<br />
== Development Releases ==<br />
<br />
=== SVN ===<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! style="width:12em" | [[wikipedia:Operating_System|OS]]<br />
! Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary<br />
| With contrib plugins<br />
| [/index.php?board=20.0 Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| x86<br />
| Binary<br />
| {{dunno}}<br />
| [/index.php?board=20.0 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| AMD64<br />
| Binary<br />
| {{dunno}}<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:SUSE_Linux|SUSE]]<br />
| 9.3<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Editors/codeblocks Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:SUSE_Linux|SUSE]]<br />
| 9.3<br />
| x86 64<br />
| Binary<br />
| {{dunno}}<br />
| [http://ftp.gwdg.de/pub/linux/misc/suser-drcux/93/rpm/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:SUSE_Linux|SUSE]]<br />
| 10.0<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Editors/codeblocks Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:SUSE_Linux|SUSE]]<br />
| 10.0<br />
| i586<br />
| Binary<br />
| rev2509 with all contrib plugins except wxsmith<br />
| [http://www.savefile.com/files.php?fid=5856206 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:SUSE_Linux|SUSE]]<br />
| 10.0<br />
| x86 64<br />
| Binary<br />
| {{dunno}}<br />
| [http://ftp.gwdg.de/pub/linux/misc/suser-drcux/100/x86_64/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]<br />
| 10.2<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://www.icpnet.pl/~groman/cb-slack/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]<br />
| 10.2<br />
| athlon-xp<br />
| Binary<br />
| {{dunno}}<br />
| [http://www.icpnet.pl/~groman/cb-slack/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_OS_X|Mac OS X]]<br />
| 10.3 Panther<br />
| PPC<br />
| Binary<br />
| ?<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| Bundled with wxMac 2.6 inside the app bundle<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_OS_X|Mac OS X]]<br />
| 10.4 Tiger<br />
| PPC/X86<br />
| Binary<br />
| ?<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| Bundled with wxMac 2.6 inside the app bundle<br />
|- style="border: solid 1px gray;"<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [http://www.macports.org/ MacPorts]<br />
| Darwin<br />
| PPC/X86<br />
| Source<br />
| ?<br />
| <br />
| [[Installing Code::Blocks from source on Mac OS X]]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 4/5<br />
| i686<br />
| Binary<br />
| With contrib plugins<br />
| [/index.php?board=20.0 Download]<br />
| Fedora Core 4 requires wxGTK packages e.g. from [http://ftp.freshrpms.net/pub/freshrpms/ayo/fedora/linux/4/i386/RPMS.freshrpms/ Freshrpms]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:CentOS-logo_32.png]] [[wikipedia:CentOS|CentOS]]<br />
| CentOS 3/4<br />
| i686<br />
| Source<br />
| ?<br />
|<br />
| [[Installing_Code::Blocks_from_source_on_RPM_based_distributions]]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| Gentoo<br />
| x86/AMD64<br />
| Portage Overlay<br />
| ?<br />
| [http://www.stud.uni-karlsruhe.de/~uyavl/public/gentoo/codeblocks-9999-overlay-16-NO_DIGEST.tar.bz2 Download]<br />
| [http://forums.gentoo.org/viewtopic-t-440412.html Forum Guide] [[Compiling_Code::Blocks_in_Gentoo]]<br />
|- style="border: solid 1px gray;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! [[wikipedia:Operating_System|OS]]<br />
! OS Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|-<br />
|}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Compiled_packages_of_Code::Blocks&diff=4239Compiled packages of Code::Blocks2006-11-29T16:42:57Z<p>Sethjackson: </p>
<hr />
<div>== Stable Releases ==<br />
<br />
=== 1.0 RC2 ===<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! style="width:12em" | [[wikipedia:Operating_System|OS]]<br />
! Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary Ansi<br />
| With contrib plugins<br />
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2.exe?download Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary Ansi<br />
| With contrib plugins - With MinGW bundled<br />
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Debian-logo_32.png]] [[wikipedia:Debian|Debian]]<br />
| Sid<br />
| i386<br />
| Binary<br />
| No longer supported by the previous package author. <br />
|<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| x86<br />
| Binary<br />
| No longer supported by the previous package author.<br />
| <br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| 2005.1<br />
| x86/AMD64<br />
| Ebuild<br />
| {{dunno}}<br />
| [http://bugs.gentoo.org/attachment.cgi?id=72819 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| 2005.1<br />
| x86/AMD64<br />
| Patch<br />
| {{dunno}}<br />
| [http://bugs.gentoo.org/attachment.cgi?id=72820 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 3<br />
| i386<br />
| Binary<br />
| SRPMS compatible with wxGTK-2.4 is also [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.src.rpm available].<br />
| [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.fc3.i386.rpm Download]<br />
| Requires wxGTK-2.4 ([http://dag.wieers.com/packages/wxGTK/ Dag repository])<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 4<br />
| i386<br />
| Binary<br />
| not available any more<br />
| [http://www.neoinvent.com/cb/codeblocks-1.0-rc2.i386.rpm Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:FreeBSD-logo_32.png]] [[wikipedia:FreeBSD|FreeBSD]]<br />
| 6.1<br />
| x86<br />
| Binary<br />
| {{dunno}}<br />
| [/index.php?topic=1407.0 Download]<br />
| <br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! [[wikipedia:Operating_System|OS]]<br />
! OS Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|-<br />
|}<br />
<br />
== Development Releases ==<br />
<br />
=== SVN ===<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! style="width:12em" | [[wikipedia:Operating_System|OS]]<br />
! Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary<br />
| With contrib plugins<br />
| [/index.php?board=20.0 Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| x86<br />
| Binary<br />
| {{dunno}}<br />
| [/index.php?board=20.0 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| AMD64<br />
| Binary<br />
| {{dunno}}<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 9.3<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Editors/codeblocks Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 9.3<br />
| x86 64<br />
| Binary<br />
| {{dunno}}<br />
| [http://ftp.gwdg.de/pub/linux/misc/suser-drcux/93/rpm/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 10.0<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Editors/codeblocks Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 10.0<br />
| i586<br />
| Binary<br />
| rev2509 with all contrib plugins except wxsmith<br />
| [http://www.savefile.com/files.php?fid=5856206 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 10.0<br />
| x86 64<br />
| Binary<br />
| {{dunno}}<br />
| [http://ftp.gwdg.de/pub/linux/misc/suser-drcux/100/x86_64/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]<br />
| 10.2<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://www.icpnet.pl/~groman/cb-slack/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]<br />
| 10.2<br />
| athlon-xp<br />
| Binary<br />
| {{dunno}}<br />
| [http://www.icpnet.pl/~groman/cb-slack/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_os_x|Mac OS X]]<br />
| 10.3 Panther<br />
| PPC<br />
| Binary<br />
| ?<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| Bundled with wxMac 2.6 inside the app bundle<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_os_x|Mac OS X]]<br />
| 10.4 Tiger<br />
| PPC/X86<br />
| Binary<br />
| ?<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| Bundled with wxMac 2.6 inside the app bundle<br />
|- style="border: solid 1px gray;"<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [http://www.macports.org/ MacPorts]<br />
| Darwin<br />
| PPC/X86<br />
| Source<br />
| ?<br />
| <br />
| [[Installing Code::Blocks from source on Mac OS X]]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 4/5<br />
| i686<br />
| Binary<br />
| With contrib plugins<br />
| [/index.php?board=20.0 Download]<br />
| Fedora Core 4 requires wxGTK packages e.g. from [http://ftp.freshrpms.net/pub/freshrpms/ayo/fedora/linux/4/i386/RPMS.freshrpms/ Freshrpms]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:CentOS-logo_32.png]] [[wikipedia:CentOS|CentOS]]<br />
| CentOS 3/4<br />
| i686<br />
| Source<br />
| ?<br />
|<br />
| [[Installing_Code::Blocks_from_source_on_RPM_based_distributions]]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| Gentoo<br />
| x86/AMD64<br />
| Portage Overlay<br />
| ?<br />
| [http://www.stud.uni-karlsruhe.de/~uyavl/public/gentoo/codeblocks-9999-overlay-16-NO_DIGEST.tar.bz2 Download]<br />
| [http://forums.gentoo.org/viewtopic-t-440412.html Forum Guide] [[Compiling_Code::Blocks_in_Gentoo]]<br />
|- style="border: solid 1px gray;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! [[wikipedia:Operating_System|OS]]<br />
! OS Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|-<br />
|}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Compiled_packages_of_Code::Blocks&diff=4238Compiled packages of Code::Blocks2006-11-29T16:39:00Z<p>Sethjackson: </p>
<hr />
<div>== Stable Releases ==<br />
<br />
=== 1.0 RC2 ===<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! style="width:12em" | [[wikipedia:Operating_System|OS]]<br />
! Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary Ansi<br />
| With contrib plugins<br />
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2.exe?download Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary Ansi<br />
| With contrib plugins - With MinGW bundled<br />
| [http://prdownloads.sourceforge.net/codeblocks/codeblocks-1.0rc2_mingw.exe?download Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Debian-logo_32.png]] [[wikipedia:Debian|Debian]]<br />
| Sid<br />
| i386<br />
| Binary<br />
| No longer supported by the previous package author. <br />
|<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| x86<br />
| Binary<br />
| No longer supported by the previous package author.<br />
| <br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| 2005.1<br />
| x86/AMD64<br />
| Ebuild<br />
| {{dunno}}<br />
| [http://bugs.gentoo.org/attachment.cgi?id=72819 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo_Linux|Gentoo]]<br />
| 2005.1<br />
| x86/AMD64<br />
| Patch<br />
| {{dunno}}<br />
| [http://bugs.gentoo.org/attachment.cgi?id=72820 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 3<br />
| i386<br />
| Binary<br />
| SRPMS compatible with wxGTK-2.4 is also [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.src.rpm available].<br />
| [http://timeoff.wsisiz.edu.pl/zrzut/codeblocks-1.0-0.2.rc2.fc3.i386.rpm Download]<br />
| Requires wxGTK-2.4 ([http://dag.wieers.com/packages/wxGTK/ Dag repository])<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 4<br />
| i386<br />
| Binary<br />
| not available any more<br />
| [http://www.neoinvent.com/cb/codeblocks-1.0-rc2.i386.rpm Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:FreeBSD-logo_32.png]] [[wikipedia:Freebsd|FreeBSD]]<br />
| 6.1<br />
| x86<br />
| Binary<br />
| {{dunno}}<br />
| [/index.php?topic=1407.0 Download]<br />
| <br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! [[wikipedia:Operating_System|OS]]<br />
! OS Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|-<br />
|}<br />
<br />
== Development Releases ==<br />
<br />
=== SVN ===<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! style="width:12em" | [[wikipedia:Operating_System|OS]]<br />
! Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Microsoft_Windows-logo-alt2_32.png]] [[wikipedia:Microsoft_Windows|Windows]]<br />
| 98/NT/Me/2000/XP<br />
| x86<br />
| Binary<br />
| With contrib plugins<br />
| [/index.php?board=20.0 Download]<br />
|<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| x86<br />
| Binary<br />
| {{dunno}}<br />
| [/index.php?board=20.0 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Ubuntu-logo_32.png]] [[wikipedia:Ubuntu_Linux|Ubuntu]]<br />
| 5.10 Breezy<br />
| AMD64<br />
| Binary<br />
| {{dunno}}<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 9.3<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Editors/codeblocks Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 9.3<br />
| x86 64<br />
| Binary<br />
| {{dunno}}<br />
| [http://ftp.gwdg.de/pub/linux/misc/suser-drcux/93/rpm/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 10.0<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Editors/codeblocks Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 10.0<br />
| i586<br />
| Binary<br />
| rev2509 with all contrib plugins except wxsmith<br />
| [http://www.savefile.com/files.php?fid=5856206 Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:SuSE-logo-alt_32.png]] [[wikipedia:Suse|SUSE]]<br />
| 10.0<br />
| x86 64<br />
| Binary<br />
| {{dunno}}<br />
| [http://ftp.gwdg.de/pub/linux/misc/suser-drcux/100/x86_64/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]<br />
| 10.2<br />
| i686<br />
| Binary<br />
| {{dunno}}<br />
| [http://www.icpnet.pl/~groman/cb-slack/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Slackware-logo_32.png]] [[wikipedia:Slackware|Slackware]]<br />
| 10.2<br />
| athlon-xp<br />
| Binary<br />
| {{dunno}}<br />
| [http://www.icpnet.pl/~groman/cb-slack/ Download]<br />
| <br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_os_x|Mac OS X]]<br />
| 10.3 Panther<br />
| PPC<br />
| Binary<br />
| ?<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| Bundled with wxMac 2.6 inside the app bundle<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [[wikipedia:Mac_os_x|Mac OS X]]<br />
| 10.4 Tiger<br />
| PPC/X86<br />
| Binary<br />
| ?<br />
| [http://developer.berlios.de/project/showfiles.php?group_id=5358 Download]<br />
| Bundled with wxMac 2.6 inside the app bundle<br />
|- style="border: solid 1px gray;"<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Mac-logo-alt.png]] [http://www.macports.org/ MacPorts]<br />
| Darwin<br />
| PPC/X86<br />
| Source<br />
| ?<br />
| <br />
| [[Installing Code::Blocks from source on Mac OS X]]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Fedora-logo_32.png]] [[wikipedia:Fedora_Core|Fedora]]<br />
| Fedora Core 4/5<br />
| i686<br />
| Binary<br />
| With contrib plugins<br />
| [/index.php?board=20.0 Download]<br />
| Fedora Core 4 requires wxGTK packages e.g. from [http://ftp.freshrpms.net/pub/freshrpms/ayo/fedora/linux/4/i386/RPMS.freshrpms/ Freshrpms]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:CentOS-logo_32.png]] [[wikipedia:CentOS|CentOS]]<br />
| CentOS 3/4<br />
| i686<br />
| Source<br />
| ?<br />
|<br />
| [[Installing_Code::Blocks_from_source_on_RPM_based_distributions]]<br />
|- style="border: solid 1px gray;"<br />
! style="text-align: left; background: #ececec;" | [[Image:Gentoo-logo_32.png]] [[wikipedia:Gentoo|Gentoo]]<br />
| Gentoo<br />
| x86/AMD64<br />
| Portage Overlay<br />
| ?<br />
| [http://www.stud.uni-karlsruhe.de/~uyavl/public/gentoo/codeblocks-9999-overlay-16-NO_DIGEST.tar.bz2 Download]<br />
| [http://forums.gentoo.org/viewtopic-t-440412.html Forum Guide] [[Compiling_Code::Blocks_in_Gentoo]]<br />
|- style="border: solid 1px gray;"<br />
|- style="background: #ececec; border: solid 1px gray;"<br />
! [[wikipedia:Operating_System|OS]]<br />
! OS Version<br />
! Architecture<br />
! Package Type<br />
! Remarks<br />
! Download<br />
! Installation Guide<br />
|-<br />
|}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD&diff=4223Installing Code::Blocks from source on FreeBSD2006-11-29T00:45:01Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
== Prerequisites ==<br />
<br />
=== wxWidgets ===<br />
<br />
pkg_add -r wxgtk2-unicode<br />
<br />
=== SVN client === <br />
<br />
pkg_add -r subversion<br />
<br />
=== GNU autoconf ===<br />
<br />
pkg_add -r gnu-autoconf<br />
<br />
=== GNU automake ===<br />
<br />
pkg_add -r gnu-automake<br />
<br />
=== GNU libtool ===<br />
<br />
pkg_add -r gnu-libtool<br />
<br />
=== zip ===<br />
<br />
pkg_add -r zip<br />
<br />
=== Code::Blocks sources ===<br />
<br />
mkdir codeblocks<br />
svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk codeblocks<br />
<br />
== Building ==<br />
<br />
<!--cp -R /usr/X11R6/share/aclocal/ /usr/local/gnu-autotools/share/--><br />
<br />
cd codeblocks<br />
export PATH=/usr/local/gnu-autotools/bin:$PATH<br />
./bootstrap<br />
./configure<br />
make<br />
make install</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD&diff=4222Installing Code::Blocks from source on FreeBSD2006-11-29T00:35:14Z<p>Sethjackson: /* Prerequisites */</p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
== Prerequisites ==<br />
<br />
=== wxWidgets ===<br />
<br />
pkg_add -r wxgtk2<br />
<br />
=== SVN client === <br />
<br />
pkg_add -r subversion<br />
<br />
=== zip ===<br />
<br />
pkg_add -r zip<br />
<br />
=== Code::Blocks sources ===<br />
<br />
mkdir codeblocks<br />
svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk codeblocks<br />
<br />
== Building ==<br />
<br />
First, you have to install the following Ports:<br />
<br />
* gnu-autoconf-2.59 Automatically configure source code on many Un*x platforms <br />
* gnu-automake-1.9.6 GNU Standards-compliant Makefile generator (GNU unmodified)<br />
* gnu-libtool-1.5.18 Generic shared library support script (GNU unmodified)<br />
<br />
now you have to copy the m4 files from /usr/X11R6/share/aclocal/ to /usr/local/gnu-autotools/share/aclocal/<br />
<br />
cp -R /usr/X11R6/share/aclocal/ /usr/local/gnu-autotools/share/<br />
<br />
cd codeblocks<br />
export PATH=/usr/local/gnu-autotools/bin:$PATH<br />
./bootstrap<br />
./configure<br />
make<br />
make install</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.4.2_to_develop_Code::Blocks_(MSW)&diff=4221Compiling wxWidgets 2.4.2 to develop Code::Blocks (MSW)2006-11-29T00:17:27Z<p>Sethjackson: This page needs to go bye-bye</p>
<hr />
<div>[[Category:Outdated]]<br />
[[Category:Deletion Requests]]<br />
<div style="margin:0; border:2px; padding: 2em 2em 2em 2em; background-color:#FFd6c0;"><br />
'''Obsolete:'''<br /><br />
Do not use these instructions for building Code::Blocks. It needs wxWidgets-2.6.x to compile.<br />
Please read [[Compiling wxWidgets 2.6.2 to develop Code::Blocks (MSW)]]<br />
</div><br />
<br />
These are the instructions to compile wxWidgets so that you can compile Code::Blocks on your own.<br />
<br />
'''NOTE:''' These instructions are MS Windows (TM) specific, but because we are using MinGW it should be possible to use these instructions with some modifications on other platforms.<br />
<br />
== Install MinGW ==<br />
<br />
If you don't have the Code::Blocks+MinGW bundle, grab the latest MINGW stuff (including MSYS) from the <br />
[http://www.mingw.org/download.shtml#hdr2 MINGW site] and install it under a directory you like. In this tutorial we're assumming you're installing MINGW under C:\MINGW.<br />
<br />
'''If you DO have the Code::Blocks + MinGW bundle, or have already installed MINGW on your own, you can skip this section.'''<br />
<br />
NOTE: The files are compressed in the tar.gz format. You need a third-party extraction utility to unzip them.<br />
<br />
The files I (Rick) have installed are:<br />
<br />
* [http://prdownloads.sf.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download gcc-core-3.4.2-20040916-1.tar.gz]<br />
* [http://prdownloads.sf.net/mingw/gcc-g++-3.4.2-20040916-1.tar.gz?download gcc-g++-3.4.2-20040916-1.tar.gz]<br />
* [http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download MSYS-1.0.10.exe]<br />
* [http://prdownloads.sf.net/mingw/mingw-runtime-3.7.tar.gz?download mingw-runtime-3.7.tar.gz]<br />
* [http://prdownloads.sf.net/mingw/mingw-utils-0.3.tar.gz?download mingw-utils-0.3.tar.gz]<br />
* [http://prdownloads.sf.net/mingw/w32api-3.2.tar.gz?download w32api-3.2.tar.gz]<br />
* [http://prdownloads.sf.net/mingw/binutils-2.15.91-20040904-1.tar.gz?download binutils-2.15.91-20040904-1.tar.gz]<br />
* [http://prdownloads.sf.net/mingw/gdb-5.2.1-1.exe?download gdb-5.2.1-1.exe]<br />
* [http://prdownloads.sf.net/mingw/mingw32-make-3.80.0-3.exe?download mingw32-make-3.80.0-3.exe]<br />
<br />
After you install, make sure you have the following directories under your path:<br />
* C:\MINGW\bin;<br />
* C:\MINGW\mingw32\bin;<br />
(I'm assumming you installed under C:\MINGW)<br />
<br />
== Install the unix-like commands ==<br />
<br />
The wxWidgets makefile requires some unix commands (like cp) to run correctly. To avoid this windows-linux compatibility problems, you have two options:<br />
<br />
a) Download the [ftp://biolpc22.york.ac.uk/pub/ports/mingw32/extra.zip extra.zip] package, or<br />
<br />
b) Setup [[#About MSYS|MSYS]].<br />
<br />
=== About the extra.zip package ===<br />
<br />
The extra.zip package contains some programs which mimic frequently-used commands in Linux.<br />
<br />
To install, just [ftp://biolpc22.york.ac.uk/pub/ports/mingw32/extra.zip download it] and unzip it in your MINGW directory.<br />
<br />
=== About MSYS ===<br />
<br />
The [http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download MSYS package] ('''NOT included in the Code::Blocks+MinGW bundle''') allows you to run unix scripts with Mingw. Think of it as a "mini-linux emulator". When you run the executable installer, it will provide a link to msys.bat. If it doesn't appear in your desktop, search for it in your programs menu.<br />
<br />
If you don't have the extra package, you must run the wxWidgets 2.4.2 compilation from inside MSYS. Drive C is found under /c/, drive D under /d/ and so on.<br />
<br />
== Download and Install the wxWidgets source code ==<br />
<br />
The wxWidgets 2.4.2 distribution can be found at the [http://www.wxwindows.org/dl_msw2.htm#stable242 wxWidgets site]. (Note that there's also a [http://prdownloads.sourceforge.net/wxwindows/wxWindows-2.4.2-WinHelp.zip winhelp file] available). You can choose to install either the [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.4.2-setup.zip setup version] or the [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.4.2.zip plain zip version] (which I find ridiculous, because the setup version is zipped too!).<br />
<br />
If you use the plain zip version, make sure to unzip using the full path. Otherwise the directories won't be created correctly.<br />
On a second thought, you might like to use the setup version :P<br />
<br />
I have my wxWidgets installed in '''C:\wxWindows-2.4.2''' . Under MSYS, that should be '''/c/wxWindows-2.4.2''' .<br />
<br />
And now that you have all the ingredients, it's time to compile :)<br />
<br />
== Build wxWidgets ==<br />
<br />
NOTE: We're assumming you installed under C:\wxWindows-2.4.2 .<br />
<br />
Before anything, let me warn you: wxWidgets compilation is SLOW. And by SLOW I mean the time equivalent to one or two evolution cycles, like from Triasic to Jurasic, but doubled. So make sure there's a nice show on the TV, or you could invite a friend to play cards. OR you could start preparing the coffee :)<br />
<br />
Now, open up your MSYS prompt, and change to the wxWidgets src/msw directory:<br />
<br />
: <tt>cd /c/wxWindows-2.4.2/src/msw</tt><br />
<br />
Then proceed to the build. But first, an important warning that will save you many headaches.<br />
----<br />
<br />
:'''WARNING!'''<br />
:If due to a misconfiguration (like changing the version of your MINGW), your compilation fails, '''MAKE SURE''' you clean out the outputs directory with the following command:<br />
<br />
:: <tt>mingw32-make -f makefile.g95 clean</tt><br />
<br />
:(do it for wxwidgets, stc and xrc. I had weird linker errors and crashes because I didn't clean up the partial compilations). <br />
----<br />
<br />
<br />
And now that everything's clean, proceed to the build:<br />
<br />
: <tt>mingw32-make -f makefile.g95 FINAL=1 UNICODE=0 WXMAKINGDLL=1</tt><br />
<br />
If no "mingw32-make" is found, try this:<br />
<br />
: <tt>make -f makefile.g95 FINAL=1 UNICODE=0 WXMAKINGDLL=1</tt><br />
<br />
Is it compiling OK? Good! You can now enjoy your coffee :-)<br />
<br />
== Build the STC library ==<br />
<br />
Still inside MSYS, type:<br />
<br />
:<tt>cd ../../contrib/src/stc</tt><br />
<br />
That should change the directory to /c/wxWindows-2.4.2/contrib/src/stc.<br />
Now type:<br />
<br />
:<tt>mingw32-make -f makefile.g95 FINAL=1 UNICODE=0 WXUSINGDLL=1</tt><br />
<br />
(NOTE: There are NO line breaks in the command, if you see them, they're shown for readability)<br />
<br />
== Build the XRC library ==<br />
<br />
Still inside MSYS, type:<br />
<br />
:<tt>cd ../xrc</tt><br />
<br />
That should change the directory to /c/wxWindows-2.4.2/contrib/src/xrc.<br />
Now type:<br />
<br />
:<tt>mingw32-make -f makefile.g95 FINAL=1 UNICODE=0 WXUSINGDLL=1</tt><br />
<br />
And that's it! Now you only have to copy the lib and include directories so your MINGW installation can find them.<br />
<br />
== Copy the files to your mingw directory or set up the paths ==<br />
<br />
This section provides you with two alternatives: The easy one, and the hard one.<br />
The easy one consists of just copying the files to your MINGW directory. The hard one consists of setting up the paths in codeblocks.<br />
<br />
=== Option 1: Copying the wxWidgets files over your MINGW installation ===<br />
<br />
NOTE: The following instructions will overwrite part of your MINGW installation. If you're planning to build unicode applications, or use another version of wxWidgets, DO NOT, repeat, '''DO NOT''' follow these! Instead you'll have to set up the paths manually.<br />
<br />
So, here's how to copy the files. I (Rick) guarantee this option works, since it's the one I used.<br />
<br />
Close your MSYS window, and now open your windows explorer ('''NOT''' internet explorer, but Windows explorer. To open it, just press "(Windows key)+E"<br />
<br />
It's recommended to open TWO explorer windows: One for your wxWidgets directory (which we'll change to copy different files), and another to <br />
==== Copying the header files ====<br />
In the location bar, select the following path:<br />
:<tt>C:\wxWindows-2.4.2\include</tt><br />
<br />
Select all the files AND DIRECTORIES and copy. <br />
Change to the directory "include" under your MINGW main directory, and paste.<br />
<br />
Now change again the directory to:<br />
:<tt>C:\wxWindows-2.4.2\contrib\include</tt><br />
<br />
Copy all files and directories, and paste them to your MINGW include directory.<br />
<br />
==== Copying the library files ====<br />
<br />
Change the explorer directory to: <br />
<br />
:<tt>C:\wxWindows-2.4.2\lib</tt><br />
<br />
And select all the files. Copy and Paste under your MINGW "lib" directory. <br />
<br />
==== Copying the setup.h file ====<br />
<br />
This one's very important! Normally people know to copy the headers and libs, but miss this step. If you miss it, you'll get LOTS of compilation errors. <br />
<br />
Change the explorer directory to:<br />
<br />
:<tt>C:\wxWindows-2.4.2\lib</tt><br />
<br />
There is a "mswdll" directory there. Under it, there's a "wx" subdirectory, too. Inside it there's a "setup.h". <br />
<br />
Copy it, and paste under your MINGW include/wx directory.<br />
<br />
(END of option 1)<br />
<br />
=== Option 2: Setting up the paths manually ===<br />
<br />
These instructions are to be followed by those who plan to use the 2.6 version of wxWidgets, or want to build their own version (i.e. with unicode support). Since you can't use both 2.4.2 and 2.6 libraries at the same time, you have to keep them in separate directories.<br />
<br />
Open the CodeBlocks.cbp, to be found in your local Code::Blocks source directory (for example "C:\codeblocks\src").<br />
Open up the build options, change the tab to "Directories" and add the following, replacing <WXW> with your WxWindows directory, for example "C:\wxWindows-2.4.2" (without the quotes):<br />
<br />
'''Compiler'''<br />
*<WXW>\include<br />
*<WXW>\contrib\include<br />
*<WXW>\lib\mswdll<br />
<br />
'''Linker'''<br />
*<WXW>\lib<br />
<br />
'''Resource compiler'''<br />
*<WXW>\include<br />
<br />
----<br />
<br />
And that's it. Now you're ready to compile Code::Blocks!<br />
<br />
== Post compilation steps (before running C::B) ==<br />
<br />
When compilation process is finished, simply run the update.bat script. It will ensure that all resource files (that C::B uses) are in the right place and up to date.<br />
<br />
Note: This step requires appropriate zip command, which you likely have already set up and working. However, in case you have not, you should find something usable [ftp://ftp.uu.net/pub/archiving/zip/WIN32/ here].<br />
<br />
== Common compilation problems ==<br />
<br />
=== symbol `_D' is already defined ===<br />
<br />
Your MinGW installation is probably outdated (dev-cpp user perhaps?). Make sure you're using [[#Install_MinGW|GCC 3.4.2 or later]].<br />
<br />
=== undefined reference to `_imp__wxTheApp' (& others) ===<br />
<br />
If you encounter this one, try changing your linker options.<br />
<br />
# MENU: Settings->configure plugins->compiler->other->advanced options (for me it was Settings->Compiler->Other->Advance)<br />
# Choose: "Link object files to executable".<br />
# It should be: <tt>$linker -o $exe_output $libdirs $link_objects $libs $link_options</tt><br />
<br />
Worked for me.<br />
Original credits to rickg22 (see [/index.php?topic=137.msg553 this thread])<br />
- rykon</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD&diff=4220Installing Code::Blocks from source on FreeBSD2006-11-29T00:10:05Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
== Prerequisites ==<br />
<br />
=== wxWidgets ===<br />
<br />
pkg_add -r wxgtk2-unicode<br />
<br />
=== SVN client === <br />
<br />
pkg_add -r subversion<br />
<br />
=== zip ===<br />
<br />
pkg_add -r zip<br />
<br />
=== Code::Blocks sources ===<br />
<br />
mkdir codeblocks<br />
svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk codeblocks<br />
<br />
== Building ==<br />
<br />
First, you have to install the following Ports:<br />
<br />
* gnu-autoconf-2.59 Automatically configure source code on many Un*x platforms <br />
* gnu-automake-1.9.6 GNU Standards-compliant Makefile generator (GNU unmodified)<br />
* gnu-libtool-1.5.18 Generic shared library support script (GNU unmodified)<br />
<br />
now you have to copy the m4 files from /usr/X11R6/share/aclocal/ to /usr/local/gnu-autotools/share/aclocal/<br />
<br />
cp -R /usr/X11R6/share/aclocal/ /usr/local/gnu-autotools/share/<br />
<br />
cd codeblocks<br />
export PATH=/usr/local/gnu-autotools/bin:$PATH<br />
./bootstrap<br />
./configure<br />
make<br />
make install</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD&diff=4219Installing Code::Blocks from source on FreeBSD2006-11-29T00:05:34Z<p>Sethjackson: /* Building */</p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
<br />
== Prerequisites ==<br />
<br />
=== wxWidgets ===<br />
<br />
pkg_add -r wxgtk2-unicode<br />
<br />
=== SVN client === <br />
<br />
pkg_add -r subversion<br />
<br />
=== zip ===<br />
<br />
pkg_add -r zip<br />
<br />
=== Code::Blocks sources ===<br />
<br />
mkdir codeblocks<br />
svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk codeblocks<br />
<br />
== Building ==<br />
<br />
First, you have to install the following Ports:<br />
<br />
* gnu-autoconf-2.59 Automatically configure source code on many Un*x platforms <br />
* gnu-automake-1.9.6 GNU Standards-compliant Makefile generator (GNU unmodified)<br />
* gnu-libtool-1.5.18 Generic shared library support script (GNU unmodified)<br />
<br />
now you have to copy the m4 files from /usr/X11R6/share/aclocal/ to /usr/local/gnu-autotools/share/aclocal/<br />
<br />
cp -R /usr/X11R6/share/aclocal/ /usr/local/gnu-autotools/share/<br />
<br />
cd codeblocks<br />
export PATH=/usr/local/gnu-autotools/bin:$PATH<br />
./bootstrap<br />
./configure<br />
make<br />
make install</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD&diff=4218Installing Code::Blocks from source on FreeBSD2006-11-29T00:04:55Z<p>Sethjackson: Started on article cleanup.</p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
<br />
== Prerequisites ==<br />
<br />
=== wxWidgets ===<br />
<br />
pkg_add -r wxgtk2-unicode<br />
<br />
=== SVN client === <br />
<br />
pkg_add -r subversion<br />
<br />
=== zip ===<br />
<br />
pkg_add -r zip<br />
<br />
=== Code::Blocks sources ===<br />
<br />
mkdir codeblocks<br />
svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk codeblocks<br />
<br />
== Building ==<br />
<br />
First, you have to install the following Ports:<br />
<br />
gnu-autoconf-2.59 Automatically configure source code on many Un*x platforms <br />
gnu-automake-1.9.6 GNU Standards-compliant Makefile generator (GNU unmodified)<br />
gnu-libtool-1.5.18 Generic shared library support script (GNU unmodified)<br />
<br />
now you have to copy the m4 files from /usr/X11R6/share/aclocal/ to /usr/local/gnu-autotools/share/aclocal/<br />
<br />
cp -R /usr/X11R6/share/aclocal/ /usr/local/gnu-autotools/share/<br />
<br />
cd codeblocks<br />
export PATH=/usr/local/gnu-autotools/bin:$PATH<br />
./bootstrap<br />
./configure<br />
make<br />
make install</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&diff=4217Installing Code::Blocks from source on Windows2006-11-29T00:02:04Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
<br />
== Prerequisites ==<br />
<br />
'''Note for RC2 users'''<br />
<br />
The older Code::Blocks RC2 does not support global compiler variables which were added after RC2 was released and is unable to read project files generated with post-RC2 versions.<br />
To build Code::Blocks, you need a post-RC2 build, such as any of the ''nightly builds'' obtainable by [/index.php?board=20.0 searching the forum].<br />
<br />
=== MinGW compiler ===<br />
<br />
At the present time, Code::Blocks only compiles successfully with the MinGW compiler (or any other gcc for that matter). You will need a complete, working [[MinGW installation]].<br />
<br />
=== wxWidgets ===<br />
<br />
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).<br/><br />
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].<br />
<br />
<br />
You do ''not'' need MSYS (''in fact, if you have MSYS, make sure it is not in your PATH when building wxWidgets'').<br />
<br />
=== SVN client ===<br />
<br />
In order to check out the Code::Blocks sources you will need a SVN client.<br />
For convenience, it is recommended that you install [http://tortoisesvn.tigris.org/download.html TortoiseSVN] on your machine, as this is a lot more comfortable. However, if you get a bad feeling when some program is messing with your Explorer menu, then you can use the [http://subversion.tigris.org/project_packages.html svn command-line client] equally well.<br />
<br />
It is generally a good idea to install the command-line client (and adding it to PATH) even if you use TortoiseSVN for convenience. The <tt>autorevision</tt> tool which is used during the build of Code::Blocks makes use of the <tt>svn</tt> binary if it is available. This is preferrable to the manual parsing of the entries file that is used as fallback.<br />
<br />
<br />
Please do note that working copies checked out with the 1.4 version of Subversion are no longer compatible with earlier versions (Subversion will transparently update existing repositories).<br />
<br />
The builtin fallback mechanism in <tt>autorevision</tt> has been updated to the new 1.4 format and will no longer work with the old format.<br><br />
Therefore, if you use a Subversion client from the 1.0-1.3 line, you ''must'' put the commandline tool into <tt>PATH</tt> for a successful build.<br><br />
If you use Subversion 1.4, then it is good practice nevertheless, but you can do without, too.<br />
<br />
=== zip.exe ===<br />
<br />
You'll also need a working 'zip' program.<br />
If you have the version listed on our [https://wiki.codeblocks.org/index.php?title=Mingw#Other_developer_tools tools page], you'll be fine, alternatively you can use the one found [http://www.info-zip.org/ here].<br />
<br />
The zip program coming with cygwin will ''not'' work properly. You do ''not'' need WinZip.<br />
<br />
Make sure the zip binary is in your PATH so the <tt>update.bat</tt> script will be able to find it (alternatively, you can edit the batch file, setting the ZIPCMD variable to something else).<br />
<br />
The easiest way is to put zip.exe into <tt>bin</tt> inside your MinGW installation directory (that folder is normally in the path).<br />
<br />
=== Code::Blocks sources ===<br />
<br />
You will also (obviously) need the Code::Blocks sources. <br />
<br />
Using ''TortoiseSVN'', make a folder where you want to store the sources, right-click on the folder, and select "SVN Checkout...".<br />
<br />
In the top box, enter svn://svn.berlios.de/codeblocks/trunk and hit the OK button.<br />
<br />
Using ''svn'', you have to open a command prompt ("DOS Window"). Make a folder, change directory, and run svn:<br />
<br />
mkdir codeblocks-head<br />
cd codeblocks-head<br />
svn checkout svn://svn.berlios.de/codeblocks/trunk<br />
<br />
== Building ==<br />
<br />
=== Unicode Build ===<br />
<br />
==== Compile wxWidgets in Unicode mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets:<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx). Enter the location where you unpacked wxWidgets.<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy <tt>lib\gcc_dll\wxmsw26u_gcc_custom.dll</tt> from the wxWidgets directory to the <tt>src\devel</tt> directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into dll hell).<br />
<br />
Run <tt>src\update.bat</tt> (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The stripped ("production") executable is found in <tt>output</tt> together with all libraries and data files. If you want a version with debug symbols instead (caution: huge size!), use the one found in the <tt>devel</tt> folder.<br><br />
Congratulations, you own a freshly built version of Code::Blocks!<br />
<br />
For future updates, go into the Code::Blocks root directory and run <tt>svn update</tt> (or use TurtoiseSVN to the same effect).<br/><br />
Then open and build the project as described before (and any contrib plugins that you wish to use), and re-run <tt>src\update.bat</tt>.<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all).<br/><br />
When you open the contrib plugins workspace, you will be asked to define the <tt>$(#cb)</tt> global compiler variable. The build process uses this information to place the plugins and data files into the correct place. Enter the location of the Code::Blocks sources in the same way as for the <tt>$(#wx)</tt> variable earlier.<br />
<br />
Don't forget to run update.bat again after building the contrib plugins.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
=== ANSI Build ===<br />
<br />
<div style="background-color: #f7d9d9; border: 1px solid #000"><br />
<div style="margin: 5px;"><br />
<br />
==== DEPRECATION WARNING: ====<br />
As of February 2006, the official default build for Code::Blocks is '''Unicode''' (see above). Although ANSI builds are technically possible, we discourage their use unless there is a good reason.<br/><br />
''Support for ANSI builds is likely to be dropped after Version 1.0 is out.''<br />
<br />
There is hardly any good argument against using a Unicode build if your OS supports Unicode, even if you do not understand any other language than English, as a Unicode version guarantees that it will be able to work with whatever languages you may possibly encounter in the future -- at a very reasonable cost.<br />
<br />
However, if you absolutely don't care about Unicode or if you are bound to use Windows 95, then you may want to build an ANSI version nevertheless.<br />
<br />
</div><br />
</div><br />
<br />
==== Compile wxWidgets in ANSI mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx) if you have not used it before. Enter the location where you unpacked wxWidgets.<br />
<br />
'''Important:''' The project file is set to compile an Unicode version of Code::Blocks by default. To make an ANSI build, you have to make the following two changes to build options before compiling:<br />
1. In the "Compiler" tab, under "#defines", remove the entry wxUSE_UNICODE.<br />
2. Under "Custom variables", set the variable WX_SUFFIX to empty (default value: u).<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy wxmsw26u_gcc_custom.dll from lib\gcc_dll inside the wxWidgets directory to the devel directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into [http://en.wikipedia.org/wiki/DLL_hell dll hell] ).<br />
Run update.bat (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The location of executable is src\output in C::B tree. From here you'll not need the nighty build anymore.<br />
<br />
One little note for svn updates and rebuilds : just go into the codeblocks root directory and do '''svn update''' (or use Turtoise svn).<br />
<br />
Then run the src/output/codeblocks.exe, reload project, build it, reload plugins workspace, build it, quit codeblocks and re-run update.bat. You'll have an up-to-date C::B in 3 minutes !<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all). Don't forget to run update.bat again after building the contrib plugins.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&diff=4216Installing Code::Blocks from source on Windows2006-11-28T23:58:12Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
<br />
== Prerequisites ==<br />
<br />
'''Note for RC2 users'''<br />
<br />
The older Code::Blocks RC2 does not support global compiler variables which were added after RC2 was released and is unable to read project files generated with post-RC2 versions.<br />
To build Code::Blocks, you need a post-RC2 build, such as any of the ''nightly builds'' obtainable by [/index.php?board=20.0 searching the forum].<br />
<br />
=== MinGW compiler ===<br />
<br />
At the present time, Code::Blocks only compiles successfully with the MinGW compiler (or any other gcc for that matter). You will need a complete, working [[MinGW installation]].<br />
<br />
=== wxWidgets ===<br />
<br />
Code::Blocks officially supports wxWidgets 2.6.3 (although any 2.6+ version probably works).<br/><br />
Download: [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-1.zip].<br />
<br />
<br />
You do ''not'' need MSYS (''in fact, if you have MSYS, make sure it is not in your PATH when building wxWidgets'').<br />
<br />
=== SVN client ===<br />
<br />
In order to check out the Code::Blocks sources you will need a SVN client.<br />
For convenience, it is recommended that you install [http://tortoisesvn.tigris.org/download.html TortoiseSVN] on your machine, as this is a lot more comfortable. However, if you get a bad feeling when some program is messing with your Explorer menu, then you can use the [http://subversion.tigris.org/project_packages.html svn command-line client] equally well.<br />
<br />
It is generally a good idea to install the command-line client (and adding it to PATH) even if you use TortoiseSVN for convenience. The <tt>autorevision</tt> tool which is used during the build of Code::Blocks makes use of the <tt>svn</tt> binary if it is available. This is preferrable to the manual parsing of the entries file that is used as fallback.<br />
<br />
<br />
Please do note that working copies checked out with the 1.4 version of Subversion are no longer compatible with earlier versions (Subversion will transparently update existing repositories).<br />
<br />
The builtin fallback mechanism in <tt>autorevision</tt> has been updated to the new 1.4 format and will no longer work with the old format.<br><br />
Therefore, if you use a Subversion client from the 1.0-1.3 line, you ''must'' put the commandline tool into <tt>PATH</tt> for a successful build.<br><br />
If you use Subversion 1.4, then it is good practice nevertheless, but you can do without, too.<br />
<br />
=== Code::Blocks sources ===<br />
<br />
You will also (obviously) need the Code::Blocks sources. <br />
<br />
Using ''TortoiseSVN'', make a folder where you want to store the sources, right-click on the folder, and select "SVN Checkout...".<br />
<br />
In the top box, enter svn://svn.berlios.de/codeblocks/trunk and hit the OK button.<br />
<br />
Using ''svn'', you have to open a command prompt ("DOS Window"). Make a folder, change directory, and run svn:<br />
<br />
mkdir codeblocks-head<br />
cd codeblocks-head<br />
svn checkout svn://svn.berlios.de/codeblocks/trunk<br />
<br />
=== zip.exe ===<br />
<br />
You'll also need a working 'zip' program.<br />
If you have the version listed on our [https://wiki.codeblocks.org/index.php?title=Mingw#Other_developer_tools tools page], you'll be fine, alternatively you can use the one found [http://www.info-zip.org/ here].<br />
<br />
The zip program coming with cygwin will ''not'' work properly. You do ''not'' need WinZip.<br />
<br />
Make sure the zip binary is in your PATH so the <tt>update.bat</tt> script will be able to find it (alternatively, you can edit the batch file, setting the ZIPCMD variable to something else).<br />
<br />
The easiest way is to put zip.exe into <tt>bin</tt> inside your MinGW installation directory (that folder is normally in the path).<br />
<br />
== Building ==<br />
<br />
=== Unicode Build ===<br />
<br />
==== Compile wxWidgets in Unicode mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets:<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx). Enter the location where you unpacked wxWidgets.<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy <tt>lib\gcc_dll\wxmsw26u_gcc_custom.dll</tt> from the wxWidgets directory to the <tt>src\devel</tt> directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into dll hell).<br />
<br />
Run <tt>src\update.bat</tt> (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The stripped ("production") executable is found in <tt>output</tt> together with all libraries and data files. If you want a version with debug symbols instead (caution: huge size!), use the one found in the <tt>devel</tt> folder.<br><br />
Congratulations, you own a freshly built version of Code::Blocks!<br />
<br />
For future updates, go into the Code::Blocks root directory and run <tt>svn update</tt> (or use TurtoiseSVN to the same effect).<br/><br />
Then open and build the project as described before (and any contrib plugins that you wish to use), and re-run <tt>src\update.bat</tt>.<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all).<br/><br />
When you open the contrib plugins workspace, you will be asked to define the <tt>$(#cb)</tt> global compiler variable. The build process uses this information to place the plugins and data files into the correct place. Enter the location of the Code::Blocks sources in the same way as for the <tt>$(#wx)</tt> variable earlier.<br />
<br />
Don't forget to run update.bat again after building the contrib plugins.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
=== ANSI Build ===<br />
<br />
<div style="background-color: #f7d9d9; border: 1px solid #000"><br />
<div style="margin: 5px;"><br />
<br />
==== DEPRECATION WARNING: ====<br />
As of February 2006, the official default build for Code::Blocks is '''Unicode''' (see above). Although ANSI builds are technically possible, we discourage their use unless there is a good reason.<br/><br />
''Support for ANSI builds is likely to be dropped after Version 1.0 is out.''<br />
<br />
There is hardly any good argument against using a Unicode build if your OS supports Unicode, even if you do not understand any other language than English, as a Unicode version guarantees that it will be able to work with whatever languages you may possibly encounter in the future -- at a very reasonable cost.<br />
<br />
However, if you absolutely don't care about Unicode or if you are bound to use Windows 95, then you may want to build an ANSI version nevertheless.<br />
<br />
</div><br />
</div><br />
<br />
==== Compile wxWidgets in ANSI mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx) if you have not used it before. Enter the location where you unpacked wxWidgets.<br />
<br />
'''Important:''' The project file is set to compile an Unicode version of Code::Blocks by default. To make an ANSI build, you have to make the following two changes to build options before compiling:<br />
1. In the "Compiler" tab, under "#defines", remove the entry wxUSE_UNICODE.<br />
2. Under "Custom variables", set the variable WX_SUFFIX to empty (default value: u).<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy wxmsw26u_gcc_custom.dll from lib\gcc_dll inside the wxWidgets directory to the devel directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into [http://en.wikipedia.org/wiki/DLL_hell dll hell] ).<br />
Run update.bat (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The location of executable is src\output in C::B tree. From here you'll not need the nighty build anymore.<br />
<br />
One little note for svn updates and rebuilds : just go into the codeblocks root directory and do '''svn update''' (or use Turtoise svn).<br />
<br />
Then run the src/output/codeblocks.exe, reload project, build it, reload plugins workspace, build it, quit codeblocks and re-run update.bat. You'll have an up-to-date C::B in 3 minutes !<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all). Don't forget to run update.bat again after building the contrib plugins.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks&diff=4215Installing Code::Blocks2006-11-28T23:51:05Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
<br />
[[Compiled packages of Code::Blocks]]<br />
<br />
== MS Windows ==<br />
<br />
* [[Installing the latest official version of Code::Blocks on Windows]]<br />
* [[Installing Code::Blocks nightly build on Windows]]<br />
* [[Installing Code::Blocks from source on Windows]]<br />
<br />
== Linux ==<br />
<br />
* [[Installing Code::Blocks from source on Linux]] (applies to all distros)<br />
<br />
=== Ubuntu ===<br />
<br />
:* [[Installing Code::Blocks nightly build on Ubuntu]]<br />
<br />
=== Fedora ===<br />
<br />
:* [[Installing Code::Blocks nightly build on Fedora]]<br />
<br />
=== Gentoo ===<br />
<br />
:* [[Installing Code::Blocks from source on Gentoo]]<br />
<br />
=== RPM based distributions ===<br />
<br />
Such as: Red Hat Linux, Yellow Dog Linux, Fedora Core, CentOS, etc. etc.<br />
<br />
:* [[Installing Code::Blocks from source on RPM based distributions]]<br />
<br />
== BSD ==<br />
<br />
=== FreeBSD ===<br />
<br />
:* [[Installing Code::Blocks from source on FreeBSD]]<br />
<br />
== Solaris ==<br />
<br />
* [[Installing Code::Blocks from source on Solaris]]<br />
<br />
== Mac OS X ==<br />
<br />
* [[Installing Code::Blocks nightly build on Mac OS X]]<br />
<br />
* [[Installing Code::Blocks from source on Mac OS X]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Build_scripts&diff=4209Build scripts2006-11-28T18:11:34Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Scripting Code::Blocks]]<br />
<br />
Build scripts can help configuring build options and reusing these configurations.<br />
<br />
What you need to do is create as many build scripts are needed and attach them to projects or build targets.<br />
<br />
Let's see an example build script for the GNU GCC compiler:<br />
<br />
// file: build_debug_symbols.script<br />
<br />
function SetBuildOptions(base)<br />
{<br />
// enable debugging symbols<br />
base.AddCompilerOption(_T("-g"));<br />
// disable all optimizations<br />
base.AddCompilerOption(_T("-O0"));<br />
} <br />
<br />
The "base" parameter in this function is a CompiletargetBase instance. SetBuildOptions(base) is called before the project/target is built. Each build script ''must define this function'', even if it is not needed (in which case you can leave it with an empty body).<br />
<br />
This specific script enables the generation of debugging symbols for the build target it is attached to. You could similarly have other build scripts for different configuration sets like optimizations, architecture, C++ options, C++ standards, etc.<br />
<br />
Great. Now you have created your own set of build scripts. How do you attach them to project/targets? Simple: "Project->Properties->Scripts". Select the project or target to attach a script to and click "Add". If you want to detach a script, click "Remove".<br />
You can also change the order scripts are ran with the two little arrows on the right side.<br />
Finally, you can press "Validate all scripts" to make sure that the attached build scripts are valid.<br />
<br />
If you choose to go the build scripts way for your project, please don't use the project build options dialog (unless maybe for global project settings). If you do, things may not work as expected and you will unrightfully blame Code::Blocks for this ;).<br />
<br />
Well, that's all there is to it!<br />
<br />
''NOTE: I 've been told that this is like MS Visual Studio's "properties". I wouldn't know since I don't use it myself. But maybe this similarity (if it really exists) helps you grasp the concept better.''<br />
<br />
<br />
== See also ==<br />
<br />
* [[Scripting commands]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks&diff=4208Installing Code::Blocks2006-11-28T17:59:12Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
<br />
[[Compiled_packages_of_Code::Blocks]]<br />
<br />
== MS Windows ==<br />
<br />
* [[Installing the latest official version of Code::Blocks on Windows]]<br />
* [[Installing Code::Blocks nightly build on Windows]]<br />
* [[Installing Code::Blocks from source on Windows]]<br />
<br />
== Linux ==<br />
<br />
* [[Installing Code::Blocks from source on Linux]] (applies to all distros)<br />
<br />
=== Ubuntu ===<br />
<br />
:* [[Installing Code::Blocks nightly build on Ubuntu]]<br />
<br />
=== Fedora ===<br />
<br />
:* [[Installing Code::Blocks nightly build on Fedora]]<br />
<br />
=== Gentoo ===<br />
<br />
:* [[Installing Code::Blocks from source on Gentoo]]<br />
<br />
=== RPM based distributions ===<br />
<br />
Such as: Red Hat Linux, Yellow Dog Linux, Fedora Core, CentOS, etc. etc.<br />
<br />
:* [[Installing Code::Blocks from source on RPM based distributions]]<br />
<br />
== BSD ==<br />
<br />
=== FreeBSD ===<br />
<br />
:* [[Installing Code::Blocks from source on FreeBSD]]<br />
<br />
== Solaris ==<br />
<br />
* [[Installing Code::Blocks from source on Solaris]]<br />
<br />
== Mac OS X ==<br />
<br />
* [[Installing Code::Blocks nightly build on Mac OS X]]<br />
<br />
* [[Installing Code::Blocks from source on Mac OS X]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Scripting_commands&diff=4089Scripting commands2006-11-06T18:21:54Z<p>Sethjackson: /* Constants */</p>
<hr />
<div>Scripting is no good if all you can do is use the scripting language's builtin commands only. The host application (Code::Blocks) needs to expose parts of its internals to scripts, so scripts can use and control the host.<br />
<br />
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++).<br />
<br />
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.<br />
<br />
<br />
''NOTE: please remember that [http://www.squirrel-lang.org Squirrel] is typeless. Data types mentioned below are only used for documentation purposes.''<br />
<br />
<br />
== Global functions ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || Log || wxString || logs to debug log<br />
|-<br />
<br />
|-<br />
| int || Message || wxString,wxString,int ||<br />
|-<br />
<br />
|-<br />
| void || ShowMessage || wxString ||<br />
|-<br />
<br />
|-<br />
| void || ShowWarning || wxString ||<br />
|-<br />
<br />
|-<br />
| void || ShowError || wxString ||<br />
|-<br />
<br />
|-<br />
| void || ShowInfo || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || ReplaceMacros || wxString,bool ||<br />
|-<br />
<br />
|-<br />
| ProjectManager* || GetProjectManager || ||<br />
|-<br />
<br />
|-<br />
| EditorManager* || GetEditorManager || ||<br />
|-<br />
<br />
|-<br />
| ConfigManager* || GetConfigManager || ||<br />
|-<br />
<br />
|-<br />
| UserVariableManager* || GetUserVariableManager || ||<br />
|-<br />
<br />
|-<br />
| CompilerFactory* || GetCompilerFactory || ||<br />
|-<br />
<br />
|-<br />
| bool || IsNull || void* ||<br />
|-<br />
<br />
|-<br />
| wxString || _T || const char* || basically this is the wxString constructor<br />
|-<br />
<br />
|}<br />
<br />
== ConfigManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| int || Read || int,int ||<br />
|-<br />
<br />
|-<br />
| bool || Read || bool,bool ||<br />
|-<br />
<br />
|-<br />
| float || Read || float,float ||<br />
|-<br />
<br />
|-<br />
| wxString || Read || wxString,wxString ||<br />
|-<br />
<br />
|-<br />
| void || Write || int,int ||<br />
|-<br />
<br />
|-<br />
| void || Write || bool,bool ||<br />
|-<br />
<br />
|-<br />
| void || Write || float,float ||<br />
|-<br />
<br />
|-<br />
| void || Write || wxString,wxString[,bool] ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== ProjectManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| wxString || GetDefaultPath || ||<br />
|-<br />
<br />
|-<br />
| void || SetDefaultPath || wxString ||<br />
|-<br />
<br />
|-<br />
| cbProject* || GetActiveProject || ||<br />
|-<br />
<br />
|-<br />
| void || SetProject || cbProject* ||<br />
|-<br />
<br />
|-<br />
| bool || LoadWorkspace || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || SaveWorkspace || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveWorkspaceAs || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || CloseWorkspace || ||<br />
|-<br />
<br />
|-<br />
| cbProject* || IsOpen || wxString ||<br />
|-<br />
<br />
|-<br />
| cbProject* || LoadProject || wxString,bool ||<br />
|-<br />
<br />
|-<br />
| bool || SaveProject || cbProject* ||<br />
|-<br />
<br />
|-<br />
| bool || SaveProjectAs || cbProject* ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActiveProject || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActiveProjectAs || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAllProjects || ||<br />
|-<br />
<br />
|-<br />
| bool || CloseProject || cbProject*,bool,bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseActiveProject || bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseAllProjects || bool ||<br />
|-<br />
<br />
|-<br />
| cbProject* || NewProject || wxString ||<br />
|-<br />
<br />
|-<br />
| int || AddFileToProject || wxString,cbProject*,int ||<br />
|-<br />
<br />
|-<br />
| int || AskForBuildTargetIndex || cbProject* ||<br />
|-<br />
<br />
|-<br />
| void || RebuildTree || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== EditorManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || Configure || ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || New || wxString ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || Open || wxString ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || IsBuiltinOpen || wxString ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || GetBuiltinEditor || wxString|int ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || GetBuiltinActiveEditor || ||<br />
|-<br />
<br />
|-<br />
| EditorBase* || GetActiveEditor || ||<br />
|-<br />
<br />
|-<br />
| void || ActivateNext || ||<br />
|-<br />
<br />
|-<br />
| void || ActivatePrevious || ||<br />
|-<br />
<br />
|-<br />
| bool || SwapActiveHeaderSource || ||<br />
|-<br />
<br />
|-<br />
| bool || CloseActive || bool ||<br />
|-<br />
<br />
|-<br />
| bool || Close || wxString|int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseAll || bool ||<br />
|-<br />
<br />
|-<br />
| bool || Save || wxString|int ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActive || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAs || int ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActiveAs || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAll || ||<br />
|-<br />
<br />
|-<br />
| int || ShowFindDialog || bool,bool ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== UserVariableManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || Exists || wxString ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== IO namespace ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || DirectoryExists || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || SelectDirectory || wxString,wxString,bool ||<br />
|-<br />
<br />
|-<br />
| bool || FileExists || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || SelectFile || wxString,wxString,wxString ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== CompilerFactory ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || IsValidCompilerID || wxString ||<br />
|-<br />
<br />
|-<br />
| int || GetCompilerIndex || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDefaultCompilerID || ||<br />
|-<br />
<br />
|-<br />
| bool || CompilerInheritsFrom || ||<br />
|-<br />
<br />
|}<br />
<br />
== wxString ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || operator+ || ||<br />
|-<br />
<br />
|-<br />
| bool || operator< || ||<br />
|-<br />
<br />
|-<br />
| bool || operator<= || ||<br />
|-<br />
<br />
|-<br />
| bool || operator>= || ||<br />
|-<br />
<br />
|-<br />
| bool || operator> || ||<br />
|-<br />
<br />
|-<br />
| int || Find || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || Matches || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddChar || char ||<br />
|-<br />
<br />
|-<br />
| char || GetChar || int ||<br />
|-<br />
<br />
|-<br />
| bool || IsEmpty || ||<br />
|-<br />
<br />
|-<br />
| int || Length || ||<br />
|-<br />
<br />
|-<br />
| int || length || || same as Length()<br />
|-<br />
<br />
|-<br />
| int || len || || same as Length()<br />
|-<br />
<br />
|-<br />
| int || size || || same as Length()<br />
|-<br />
<br />
|-<br />
| wxString || Lower || ||<br />
|-<br />
<br />
|-<br />
| wxString || LowerCase || || same as Lower()<br />
|-<br />
<br />
|-<br />
| void || MakeLower || ||<br />
|-<br />
<br />
|-<br />
| wxString || Upper || ||<br />
|-<br />
<br />
|-<br />
| wxString || UpperCase || || same as Upper()<br />
|-<br />
<br />
|-<br />
| void || MakeUpper || ||<br />
|-<br />
<br />
|-<br />
| wxString || Mid || int,int ||<br />
|-<br />
<br />
|-<br />
| void || Remove || int,int ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLast || ||<br />
|-<br />
<br />
|-<br />
| int || Replace || wxString,wxString[,bool] ||<br />
|-<br />
<br />
|-<br />
| wxString || Right || int ||<br />
|-<br />
<br />
|-<br />
| wxString || AfterFirst || char ||<br />
|-<br />
<br />
|-<br />
| wxString || AfterLast || char ||<br />
|-<br />
<br />
|-<br />
| wxString || BeforeFirst || char ||<br />
|-<br />
<br />
|-<br />
| wxString || BeforeLast || char ||<br />
|-<br />
|}<br />
<br />
<br />
<br />
== wxArrayString ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || Add || wxString ||<br />
|-<br />
<br />
|-<br />
| void || Clear || ||<br />
|-<br />
<br />
|-<br />
| int || GetCount || ||<br />
|-<br />
<br />
|-<br />
| wxString || Item || int ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== ProjectFile ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || AddBuildTarget || wxString || <br />
|-<br />
<br />
|-<br />
| void || RenameBuildTarget || wxString,wxString || <br />
|-<br />
<br />
|-<br />
| void || RemoveBuildTarget || wxString || <br />
|-<br />
<br />
|-<br />
| wxString || GetBaseName || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetObjName || ||<br />
|-<br />
<br />
|-<br />
| void || SetObjName || wxString || <br />
|-<br />
<br />
|-<br />
| cbProject* || GetParentProject || ||<br />
|-<br />
<br />
|-<br />
| wxString || relativeFilename || || (variable)<br />
|-<br />
<br />
|-<br />
| wxString || relativeToCommonTopLevelPath || || (variable)<br />
|-<br />
<br />
|-<br />
| bool || compile || || (variable)<br />
|-<br />
<br />
|-<br />
| bool || link || || (variable)<br />
|-<br />
<br />
|-<br />
| int || weight || || (variable)<br />
|-<br />
<br />
|-<br />
| wxString || compilerVar || || (variable)<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== CompileOptionsBase ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || SetLinkerOptions || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetLinkLibs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetCompilerOptions || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetIncludeDirs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetResourceIncludeDirs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetLibDirs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetCommandsBeforeBuild || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetCommandsAfterBuild || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetLinkerOptions || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetLinkLibs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetCompilerOptions || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetIncludeDirs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetResourceIncludeDirs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetLibDirs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetCommandsBeforeBuild || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetCommandsAfterBuild || ||<br />
|-<br />
<br />
|-<br />
| bool || GetModified || ||<br />
|-<br />
<br />
|-<br />
| void || SetModified || bool ||<br />
|-<br />
<br />
|-<br />
| void || AddLinkerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddLinkLib || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddCompilerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddResourceIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddLibDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddCommandsBeforeBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddCommandsAfterBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLinkerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLinkLib || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveCompilerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveResourceIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLibDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveCommandsBeforeBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveCommandsAfterBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || GetAlwaysRunPostBuildSteps || ||<br />
|-<br />
<br />
|-<br />
| void || SetAlwaysRunPostBuildSteps || bool ||<br />
|-<br />
<br />
|-<br />
| bool || SetVar || wxString,wxString,bool ||<br />
|-<br />
<br />
|-<br />
| wxString || GetVar || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || UnsetVar || wxString ||<br />
|-<br />
<br />
|-<br />
| void || UnsetAllVars || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== CompileTargetBase ==<br />
Extends CompileOptionsBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| wxString || GetFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetTitle || ||<br />
|-<br />
<br />
|-<br />
| void || SetTitle || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetOutputFilename || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetWorkingDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetObjectOutput || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetDepsOutput || wxString ||<br />
|-<br />
<br />
|-<br />
| OptionsRelation || GetOptionRelation || OptionsRelationType ||<br />
|-<br />
<br />
|-<br />
| void || SetOptionRelation || OptionsRelationType,OptionsRelation ||<br />
|-<br />
<br />
|-<br />
| wxString || GetWorkingDir || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetObjectOutput || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDepsOutput || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetOutputFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || SuggestOutputFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetExecutableFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDynamicLibFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDynamicLibDefFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetStaticLibFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetBasePath || ||<br />
|-<br />
<br />
|-<br />
| void || SetTargetType || TargetType ||<br />
|-<br />
<br />
|-<br />
| TargetType || GetTargetType || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetExecutionParameters || ||<br />
|-<br />
<br />
|-<br />
| void || SetExecutionParameters || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetHostApplication || ||<br />
|-<br />
<br />
|-<br />
| void || SetHostApplication || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetCompilerID || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetCompilerID || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== ProjectBuildTarget ==<br />
Extends CompileTargetBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| cbProject* || GetParentProject || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetFullTitle || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetExternalDeps || ||<br />
|-<br />
<br />
|-<br />
| void || SetExternalDeps || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetAdditionalOutputFiles || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetAdditionalOutputFiles || ||<br />
|-<br />
<br />
|-<br />
| bool || GetIncludeInTargetAll || ||<br />
|-<br />
<br />
|-<br />
| void || SetIncludeInTargetAll || bool ||<br />
|-<br />
<br />
|-<br />
| bool || GetCreateDefFile || ||<br />
|-<br />
<br />
|-<br />
| void || SetCreateDefFile || bool ||<br />
|-<br />
<br />
|-<br />
| bool || GetCreateStaticLib || ||<br />
|-<br />
<br />
|-<br />
| void || SetCreateStaticLib || bool ||<br />
|-<br />
<br />
|-<br />
| bool || GetUseConsoleRunner || ||<br />
|-<br />
<br />
|-<br />
| void || SetUseConsoleRunner || bool ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== cbProject ==<br />
Extends CompileTargetBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || GetModified || ||<br />
|-<br />
<br />
|-<br />
| void || SetModified || bool ||<br />
|-<br />
<br />
|-<br />
| wxString || GetMakefile || ||<br />
|-<br />
<br />
|-<br />
| void || SetMakefile || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || IsMakefileCustom || ||<br />
|-<br />
<br />
|-<br />
| void || SetMakefileCustom || bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseAllFiles || bool ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAllFiles || ||<br />
|-<br />
<br />
|-<br />
| bool || Save || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveLayout || ||<br />
|-<br />
<br />
|-<br />
| bool || LoadLayout || ||<br />
|-<br />
<br />
|-<br />
| bool || ShowOptions || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetCommonTopLevelPath || ||<br />
|-<br />
<br />
|-<br />
| int || GetFilesCount || ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || GetFile || int ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || GetFileByFilename || wxString,bool,bool ||<br />
|-<br />
<br />
|-<br />
| bool || RemoveFile || int ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || AddFile || wxString|int,wxString,bool,bool,int ||<br />
|-<br />
<br />
|-<br />
| int || GetBuildTargetsCount || ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || GetBuildTarget || wxString|int ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || AddBuildTarget || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || RenameBuildTarget || wxString|int,wxString ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || DuplicateBuildTarget || wxString|int,wxString ||<br />
|-<br />
<br />
|-<br />
| bool || RemoveBuildTarget || wxString|int ||<br />
|-<br />
<br />
|-<br />
| bool || ExportTargetAsProject || wxString|int ||<br />
|-<br />
<br />
|-<br />
| void || SetActiveBuildTarget || int ||<br />
|-<br />
<br />
|-<br />
| int || GetActiveBuildTarget || ||<br />
|-<br />
<br />
|-<br />
| int || SelectTarget || int,bool ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || GetCurrentlyCompilingTarget || ||<br />
|-<br />
<br />
|-<br />
| void || SetCurrentlyCompilingTarget || ProjectBuildTarget* ||<br />
|-<br />
<br />
|-<br />
| PCHMode || GetModeForPCH || ||<br />
|-<br />
<br />
|-<br />
| void || SetModeForPCH || PCHMode ||<br />
|-<br />
<br />
|}<br />
<br />
== EditorBase ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| wxString || GetFilename || ||<br />
|-<br />
<br />
|-<br />
| void || SetFilename || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetShortName || ||<br />
|-<br />
<br />
|-<br />
| bool || GetModified || ||<br />
|-<br />
<br />
|-<br />
| void || SetModified || bool ||<br />
|-<br />
<br />
|-<br />
| wxString || GetTitle || ||<br />
|-<br />
<br />
|-<br />
| void || SetTitle || wxString ||<br />
|-<br />
<br />
|-<br />
| void || Activate || ||<br />
|-<br />
<br />
|-<br />
| bool || Close || ||<br />
|-<br />
<br />
|-<br />
| bool || Save || ||<br />
|-<br />
<br />
|-<br />
| bool || IsBuiltinEditor || ||<br />
|-<br />
<br />
|-<br />
| bool || ThereAreOthers || ||<br />
|-<br />
<br />
|-<br />
| void || GotoLine || int,bool ||<br />
|-<br />
<br />
|-<br />
| void || ToggleBreakpoint || int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || HasBreakpoint || int ||<br />
|-<br />
<br />
|-<br />
| void || GotoNextBreakpoint || ||<br />
|-<br />
<br />
|-<br />
| void || GotoPreviousBreakpoint || ||<br />
|-<br />
<br />
|-<br />
| void || ToggleBookmark || int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || HasBookmark || int ||<br />
|-<br />
<br />
|-<br />
| void || GotoNextBookmark || ||<br />
|-<br />
<br />
|-<br />
| void || GotoPreviousBookmark || ||<br />
|-<br />
<br />
|-<br />
| void || Undo || ||<br />
|-<br />
<br />
|-<br />
| void || Redo || ||<br />
|-<br />
<br />
|-<br />
| void || Cut || ||<br />
|-<br />
<br />
|-<br />
| void || Copy || ||<br />
|-<br />
<br />
|-<br />
| void || Paste || ||<br />
|-<br />
<br />
|-<br />
| bool || CanUndo || ||<br />
|-<br />
<br />
|-<br />
| bool || CanRedo || ||<br />
|-<br />
<br />
|-<br />
| bool || CanPaste || ||<br />
|-<br />
<br />
|-<br />
| bool || HasSelection || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== cbEditor ==<br />
Extends EditorBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || SetEditorTitle || wxString ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || GetProjectFile || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAs || ||<br />
|-<br />
<br />
|-<br />
| void || FoldAll || ||<br />
|-<br />
<br />
|-<br />
| void || UnfoldAll || ||<br />
|-<br />
<br />
|-<br />
| void || ToggleAllFolds || ||<br />
|-<br />
<br />
|-<br />
| void || FoldBlockFromLine || int ||<br />
|-<br />
<br />
|-<br />
| void || UnfoldBlockFromLine || int ||<br />
|-<br />
<br />
|-<br />
| void || ToggleFoldBlockFromLine || int ||<br />
|-<br />
<br />
|-<br />
| int || GetLineIndentInSpaces || int ||<br />
|-<br />
<br />
|-<br />
| wxString || GetLineIndentString || int ||<br />
|-<br />
<br />
|-<br />
| void || Touch || ||<br />
|-<br />
<br />
|-<br />
| bool || Reload || bool ||<br />
|-<br />
<br />
|-<br />
| void || Print || bool,PrintColourMode,bool ||<br />
|-<br />
<br />
|-<br />
| void || AutoComplete || ||<br />
|-<br />
<br />
|-<br />
| bool || AddBreakpoint || int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || RemoveBreakpoint || int,bool ||<br />
|-<br />
<br />
|-<br />
| void || SetText || wxString || this is not present in cbEditor; included to help scripts edit text<br />
|-<br />
<br />
|-<br />
| wxString || GetText || || this is not present in cbEditor; included to help scripts edit text<br />
|-<br />
<br />
|}<br />
<br />
<br />
== Constants ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Constant<br />
!Type<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| PLATFORM || int || this defines the platform Code::Blocks is currently running on. It is equal to only one of the following PLATFORM_* constants<br />
|-<br />
<br />
|-<br />
| PLATFORM_MSW || int || All Windows platforms<br />
|-<br />
<br />
|-<br />
| PLATFORM_GTK || int || All GTK platforms (Linux, BSD, Solaris, Darwin, etc.)<br />
|-<br />
<br />
|-<br />
| PLATFORM_MAC || int || All Mac platforms<br />
|-<br />
<br />
|-<br />
| PLATFORM_OS2 || int || OS/2 platform<br />
|-<br />
<br />
|-<br />
| PLATFORM_X11 || int || All X11 platforms<br />
|-<br />
<br />
|-<br />
| PLATFORM_UNKNOWN || int || Unknown platform. Please inform us if PLATFORM == PLATFORM_UNKNOWN so we can make this platform known too ;)<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''Message dialog flags'''<br />
|-<br />
<br />
|-<br />
| wxOK || int || Flag for Message() 's third argument (flags).<br />
|-<br />
<br />
|-<br />
| wxYES_NO || int || -"-<br />
|-<br />
<br />
|-<br />
| wxCANCEL || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_QUESTION || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_INFORMATION || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_WARNING || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_ERROR || int || -"-<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''Message dialog return values'''<br />
|-<br />
<br />
|-<br />
| wxID_OK || int ||<br />
|-<br />
<br />
|-<br />
| wxID_YES || int ||<br />
|-<br />
<br />
|-<br />
| wxID_NO || int ||<br />
|-<br />
<br />
|-<br />
| wxID_CANCEL || int ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum OptionsRelationType'''<br />
|-<br />
<br />
|-<br />
| ortCompilerOptions || enum ||<br />
|-<br />
<br />
|-<br />
| ortLinkerOptions || enum ||<br />
|-<br />
<br />
|-<br />
| ortIncludeDirs || enum ||<br />
|-<br />
<br />
|-<br />
| ortLibDirs || enum ||<br />
|-<br />
<br />
|-<br />
| ortResDirs || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum OptionsRelation'''<br />
|-<br />
<br />
|-<br />
| orUseParentOptionsOnly || enum ||<br />
|-<br />
<br />
|-<br />
| orUseTargetOptionsOnly || enum ||<br />
|-<br />
<br />
|-<br />
| orPrependToParentOptions || enum ||<br />
|-<br />
<br />
|-<br />
| orAppendToParentOptions || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum TargetType'''<br />
|-<br />
<br />
|-<br />
| ttExecutable || enum ||<br />
|-<br />
<br />
|-<br />
| ttConsoleOnly || enum ||<br />
|-<br />
<br />
|-<br />
| ttStaticLib || enum ||<br />
|-<br />
<br />
|-<br />
| ttDynamicLib || enum ||<br />
|-<br />
<br />
|-<br />
| ttCommandsOnly || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum MakeCommand'''<br />
|-<br />
<br />
|-<br />
| mcClean || enum ||<br />
|-<br />
<br />
|-<br />
| mcDistClean || enum ||<br />
|-<br />
<br />
|-<br />
| mcBuild || enum ||<br />
|-<br />
<br />
|-<br />
| mcCompileFile || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum PCHMode'''<br />
|-<br />
<br />
|-<br />
| pchSourceDir || enum ||<br />
|-<br />
<br />
|-<br />
| pchObjectDir || enum ||<br />
|-<br />
<br />
|-<br />
| pchSourceFile || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum PrintScope'''<br />
|-<br />
<br />
|-<br />
| psSelection || enum ||<br />
|-<br />
<br />
|-<br />
| psActiveEditor || enum ||<br />
|-<br />
<br />
|-<br />
| psAllOpenEditors || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum PrintColourMode'''<br />
|-<br />
<br />
|-<br />
| pcmBlackAndWhite || enum ||<br />
|-<br />
<br />
|-<br />
| pcmColourOnWhite || enum ||<br />
|-<br />
<br />
|-<br />
| pcmInvertColours || enum ||<br />
|-<br />
<br />
|-<br />
| pcmAsIs || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum TemplateOutputType'''<br />
|-<br />
<br />
|-<br />
| wizProject || enum || TemplateOutputType::totProject<br />
|-<br />
<br />
|-<br />
| wizTarget || enum || TemplateOutputType::totTarget<br />
|-<br />
<br />
|-<br />
| wizFiles || enum || TemplateOutputType::totFiles<br />
|-<br />
<br />
|-<br />
| wizCustom || enum || TemplateOutputType::totCustom<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''Other constants'''<br />
|-<br />
<br />
|-<br />
| wxFILE_SEP_PATH || wxString || Path separator. "\" for windows, "/" for all other platforms<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''File extensions (e.g. "cbp")'''<br />
|-<br />
<br />
|-<br />
| EXT_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CODEBLOCKS || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_DEVCPP || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC6 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC6_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC7 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC7_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_D || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_F || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_F77 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_F95 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CPP || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_C || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CC || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CXX || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_HPP || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_H || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_HH || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_HXX || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_OBJECT || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_XRCRESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_STATICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_DYNAMICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_EXECUTABLE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_RESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_RESOURCEBIN || wxString ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''File extensions with leading dot (e.g. ".cbp")'''<br />
|-<br />
<br />
|-<br />
| DOT_EXT_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CODEBLOCKS || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_DEVCPP || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC6 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC6_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC7 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC7_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_D || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_F || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_F77 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_F95 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CPP || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_C || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CC || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CXX || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_HPP || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_H || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_HH || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_HXX || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_OBJECT || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_XRCRESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_STATICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_DYNAMICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_EXECUTABLE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_RESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_RESOURCEBIN || wxString ||<br />
|-<br />
<br />
|}<br />
<br />
== See also ==<br />
<br />
* [[Scripting Code::Blocks|Scripting index]]<br />
<br />
[[Category:Code::Blocks_Documentation]]<br />
[[Category:Scripting Code::Blocks]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Scripting_commands&diff=4088Scripting commands2006-11-06T18:21:25Z<p>Sethjackson: /* Constants */</p>
<hr />
<div>Scripting is no good if all you can do is use the scripting language's builtin commands only. The host application (Code::Blocks) needs to expose parts of its internals to scripts, so scripts can use and control the host.<br />
<br />
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++).<br />
<br />
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.<br />
<br />
<br />
''NOTE: please remember that [http://www.squirrel-lang.org Squirrel] is typeless. Data types mentioned below are only used for documentation purposes.''<br />
<br />
<br />
== Global functions ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || Log || wxString || logs to debug log<br />
|-<br />
<br />
|-<br />
| int || Message || wxString,wxString,int ||<br />
|-<br />
<br />
|-<br />
| void || ShowMessage || wxString ||<br />
|-<br />
<br />
|-<br />
| void || ShowWarning || wxString ||<br />
|-<br />
<br />
|-<br />
| void || ShowError || wxString ||<br />
|-<br />
<br />
|-<br />
| void || ShowInfo || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || ReplaceMacros || wxString,bool ||<br />
|-<br />
<br />
|-<br />
| ProjectManager* || GetProjectManager || ||<br />
|-<br />
<br />
|-<br />
| EditorManager* || GetEditorManager || ||<br />
|-<br />
<br />
|-<br />
| ConfigManager* || GetConfigManager || ||<br />
|-<br />
<br />
|-<br />
| UserVariableManager* || GetUserVariableManager || ||<br />
|-<br />
<br />
|-<br />
| CompilerFactory* || GetCompilerFactory || ||<br />
|-<br />
<br />
|-<br />
| bool || IsNull || void* ||<br />
|-<br />
<br />
|-<br />
| wxString || _T || const char* || basically this is the wxString constructor<br />
|-<br />
<br />
|}<br />
<br />
== ConfigManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| int || Read || int,int ||<br />
|-<br />
<br />
|-<br />
| bool || Read || bool,bool ||<br />
|-<br />
<br />
|-<br />
| float || Read || float,float ||<br />
|-<br />
<br />
|-<br />
| wxString || Read || wxString,wxString ||<br />
|-<br />
<br />
|-<br />
| void || Write || int,int ||<br />
|-<br />
<br />
|-<br />
| void || Write || bool,bool ||<br />
|-<br />
<br />
|-<br />
| void || Write || float,float ||<br />
|-<br />
<br />
|-<br />
| void || Write || wxString,wxString[,bool] ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== ProjectManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| wxString || GetDefaultPath || ||<br />
|-<br />
<br />
|-<br />
| void || SetDefaultPath || wxString ||<br />
|-<br />
<br />
|-<br />
| cbProject* || GetActiveProject || ||<br />
|-<br />
<br />
|-<br />
| void || SetProject || cbProject* ||<br />
|-<br />
<br />
|-<br />
| bool || LoadWorkspace || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || SaveWorkspace || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveWorkspaceAs || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || CloseWorkspace || ||<br />
|-<br />
<br />
|-<br />
| cbProject* || IsOpen || wxString ||<br />
|-<br />
<br />
|-<br />
| cbProject* || LoadProject || wxString,bool ||<br />
|-<br />
<br />
|-<br />
| bool || SaveProject || cbProject* ||<br />
|-<br />
<br />
|-<br />
| bool || SaveProjectAs || cbProject* ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActiveProject || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActiveProjectAs || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAllProjects || ||<br />
|-<br />
<br />
|-<br />
| bool || CloseProject || cbProject*,bool,bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseActiveProject || bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseAllProjects || bool ||<br />
|-<br />
<br />
|-<br />
| cbProject* || NewProject || wxString ||<br />
|-<br />
<br />
|-<br />
| int || AddFileToProject || wxString,cbProject*,int ||<br />
|-<br />
<br />
|-<br />
| int || AskForBuildTargetIndex || cbProject* ||<br />
|-<br />
<br />
|-<br />
| void || RebuildTree || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== EditorManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || Configure || ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || New || wxString ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || Open || wxString ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || IsBuiltinOpen || wxString ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || GetBuiltinEditor || wxString|int ||<br />
|-<br />
<br />
|-<br />
| cbEditor* || GetBuiltinActiveEditor || ||<br />
|-<br />
<br />
|-<br />
| EditorBase* || GetActiveEditor || ||<br />
|-<br />
<br />
|-<br />
| void || ActivateNext || ||<br />
|-<br />
<br />
|-<br />
| void || ActivatePrevious || ||<br />
|-<br />
<br />
|-<br />
| bool || SwapActiveHeaderSource || ||<br />
|-<br />
<br />
|-<br />
| bool || CloseActive || bool ||<br />
|-<br />
<br />
|-<br />
| bool || Close || wxString|int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseAll || bool ||<br />
|-<br />
<br />
|-<br />
| bool || Save || wxString|int ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActive || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAs || int ||<br />
|-<br />
<br />
|-<br />
| bool || SaveActiveAs || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAll || ||<br />
|-<br />
<br />
|-<br />
| int || ShowFindDialog || bool,bool ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== UserVariableManager ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || Exists || wxString ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== IO namespace ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || DirectoryExists || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || SelectDirectory || wxString,wxString,bool ||<br />
|-<br />
<br />
|-<br />
| bool || FileExists || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || SelectFile || wxString,wxString,wxString ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== CompilerFactory ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || IsValidCompilerID || wxString ||<br />
|-<br />
<br />
|-<br />
| int || GetCompilerIndex || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDefaultCompilerID || ||<br />
|-<br />
<br />
|-<br />
| bool || CompilerInheritsFrom || ||<br />
|-<br />
<br />
|}<br />
<br />
== wxString ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || operator+ || ||<br />
|-<br />
<br />
|-<br />
| bool || operator< || ||<br />
|-<br />
<br />
|-<br />
| bool || operator<= || ||<br />
|-<br />
<br />
|-<br />
| bool || operator>= || ||<br />
|-<br />
<br />
|-<br />
| bool || operator> || ||<br />
|-<br />
<br />
|-<br />
| int || Find || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || Matches || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddChar || char ||<br />
|-<br />
<br />
|-<br />
| char || GetChar || int ||<br />
|-<br />
<br />
|-<br />
| bool || IsEmpty || ||<br />
|-<br />
<br />
|-<br />
| int || Length || ||<br />
|-<br />
<br />
|-<br />
| int || length || || same as Length()<br />
|-<br />
<br />
|-<br />
| int || len || || same as Length()<br />
|-<br />
<br />
|-<br />
| int || size || || same as Length()<br />
|-<br />
<br />
|-<br />
| wxString || Lower || ||<br />
|-<br />
<br />
|-<br />
| wxString || LowerCase || || same as Lower()<br />
|-<br />
<br />
|-<br />
| void || MakeLower || ||<br />
|-<br />
<br />
|-<br />
| wxString || Upper || ||<br />
|-<br />
<br />
|-<br />
| wxString || UpperCase || || same as Upper()<br />
|-<br />
<br />
|-<br />
| void || MakeUpper || ||<br />
|-<br />
<br />
|-<br />
| wxString || Mid || int,int ||<br />
|-<br />
<br />
|-<br />
| void || Remove || int,int ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLast || ||<br />
|-<br />
<br />
|-<br />
| int || Replace || wxString,wxString[,bool] ||<br />
|-<br />
<br />
|-<br />
| wxString || Right || int ||<br />
|-<br />
<br />
|-<br />
| wxString || AfterFirst || char ||<br />
|-<br />
<br />
|-<br />
| wxString || AfterLast || char ||<br />
|-<br />
<br />
|-<br />
| wxString || BeforeFirst || char ||<br />
|-<br />
<br />
|-<br />
| wxString || BeforeLast || char ||<br />
|-<br />
|}<br />
<br />
<br />
<br />
== wxArrayString ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || Add || wxString ||<br />
|-<br />
<br />
|-<br />
| void || Clear || ||<br />
|-<br />
<br />
|-<br />
| int || GetCount || ||<br />
|-<br />
<br />
|-<br />
| wxString || Item || int ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== ProjectFile ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || AddBuildTarget || wxString || <br />
|-<br />
<br />
|-<br />
| void || RenameBuildTarget || wxString,wxString || <br />
|-<br />
<br />
|-<br />
| void || RemoveBuildTarget || wxString || <br />
|-<br />
<br />
|-<br />
| wxString || GetBaseName || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetObjName || ||<br />
|-<br />
<br />
|-<br />
| void || SetObjName || wxString || <br />
|-<br />
<br />
|-<br />
| cbProject* || GetParentProject || ||<br />
|-<br />
<br />
|-<br />
| wxString || relativeFilename || || (variable)<br />
|-<br />
<br />
|-<br />
| wxString || relativeToCommonTopLevelPath || || (variable)<br />
|-<br />
<br />
|-<br />
| bool || compile || || (variable)<br />
|-<br />
<br />
|-<br />
| bool || link || || (variable)<br />
|-<br />
<br />
|-<br />
| int || weight || || (variable)<br />
|-<br />
<br />
|-<br />
| wxString || compilerVar || || (variable)<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== CompileOptionsBase ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || SetLinkerOptions || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetLinkLibs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetCompilerOptions || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetIncludeDirs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetResourceIncludeDirs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetLibDirs || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetCommandsBeforeBuild || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| void || SetCommandsAfterBuild || wxArrayString ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetLinkerOptions || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetLinkLibs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetCompilerOptions || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetIncludeDirs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetResourceIncludeDirs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetLibDirs || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetCommandsBeforeBuild || ||<br />
|-<br />
<br />
|-<br />
| wxArrayString || GetCommandsAfterBuild || ||<br />
|-<br />
<br />
|-<br />
| bool || GetModified || ||<br />
|-<br />
<br />
|-<br />
| void || SetModified || bool ||<br />
|-<br />
<br />
|-<br />
| void || AddLinkerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddLinkLib || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddCompilerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddResourceIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddLibDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddCommandsBeforeBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| void || AddCommandsAfterBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLinkerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLinkLib || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveCompilerOption || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveResourceIncludeDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveLibDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveCommandsBeforeBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| void || RemoveCommandsAfterBuild || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || GetAlwaysRunPostBuildSteps || ||<br />
|-<br />
<br />
|-<br />
| void || SetAlwaysRunPostBuildSteps || bool ||<br />
|-<br />
<br />
|-<br />
| bool || SetVar || wxString,wxString,bool ||<br />
|-<br />
<br />
|-<br />
| wxString || GetVar || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || UnsetVar || wxString ||<br />
|-<br />
<br />
|-<br />
| void || UnsetAllVars || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== CompileTargetBase ==<br />
Extends CompileOptionsBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| wxString || GetFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetTitle || ||<br />
|-<br />
<br />
|-<br />
| void || SetTitle || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetOutputFilename || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetWorkingDir || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetObjectOutput || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetDepsOutput || wxString ||<br />
|-<br />
<br />
|-<br />
| OptionsRelation || GetOptionRelation || OptionsRelationType ||<br />
|-<br />
<br />
|-<br />
| void || SetOptionRelation || OptionsRelationType,OptionsRelation ||<br />
|-<br />
<br />
|-<br />
| wxString || GetWorkingDir || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetObjectOutput || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDepsOutput || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetOutputFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || SuggestOutputFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetExecutableFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDynamicLibFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetDynamicLibDefFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetStaticLibFilename || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetBasePath || ||<br />
|-<br />
<br />
|-<br />
| void || SetTargetType || TargetType ||<br />
|-<br />
<br />
|-<br />
| TargetType || GetTargetType || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetExecutionParameters || ||<br />
|-<br />
<br />
|-<br />
| void || SetExecutionParameters || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetHostApplication || ||<br />
|-<br />
<br />
|-<br />
| void || SetHostApplication || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetCompilerID || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetCompilerID || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== ProjectBuildTarget ==<br />
Extends CompileTargetBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| cbProject* || GetParentProject || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetFullTitle || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetExternalDeps || ||<br />
|-<br />
<br />
|-<br />
| void || SetExternalDeps || wxString ||<br />
|-<br />
<br />
|-<br />
| void || SetAdditionalOutputFiles || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetAdditionalOutputFiles || ||<br />
|-<br />
<br />
|-<br />
| bool || GetIncludeInTargetAll || ||<br />
|-<br />
<br />
|-<br />
| void || SetIncludeInTargetAll || bool ||<br />
|-<br />
<br />
|-<br />
| bool || GetCreateDefFile || ||<br />
|-<br />
<br />
|-<br />
| void || SetCreateDefFile || bool ||<br />
|-<br />
<br />
|-<br />
| bool || GetCreateStaticLib || ||<br />
|-<br />
<br />
|-<br />
| void || SetCreateStaticLib || bool ||<br />
|-<br />
<br />
|-<br />
| bool || GetUseConsoleRunner || ||<br />
|-<br />
<br />
|-<br />
| void || SetUseConsoleRunner || bool ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== cbProject ==<br />
Extends CompileTargetBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| bool || GetModified || ||<br />
|-<br />
<br />
|-<br />
| void || SetModified || bool ||<br />
|-<br />
<br />
|-<br />
| wxString || GetMakefile || ||<br />
|-<br />
<br />
|-<br />
| void || SetMakefile || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || IsMakefileCustom || ||<br />
|-<br />
<br />
|-<br />
| void || SetMakefileCustom || bool ||<br />
|-<br />
<br />
|-<br />
| bool || CloseAllFiles || bool ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAllFiles || ||<br />
|-<br />
<br />
|-<br />
| bool || Save || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveLayout || ||<br />
|-<br />
<br />
|-<br />
| bool || LoadLayout || ||<br />
|-<br />
<br />
|-<br />
| bool || ShowOptions || ||<br />
|-<br />
<br />
|-<br />
| wxString || GetCommonTopLevelPath || ||<br />
|-<br />
<br />
|-<br />
| int || GetFilesCount || ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || GetFile || int ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || GetFileByFilename || wxString,bool,bool ||<br />
|-<br />
<br />
|-<br />
| bool || RemoveFile || int ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || AddFile || wxString|int,wxString,bool,bool,int ||<br />
|-<br />
<br />
|-<br />
| int || GetBuildTargetsCount || ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || GetBuildTarget || wxString|int ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || AddBuildTarget || wxString ||<br />
|-<br />
<br />
|-<br />
| bool || RenameBuildTarget || wxString|int,wxString ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || DuplicateBuildTarget || wxString|int,wxString ||<br />
|-<br />
<br />
|-<br />
| bool || RemoveBuildTarget || wxString|int ||<br />
|-<br />
<br />
|-<br />
| bool || ExportTargetAsProject || wxString|int ||<br />
|-<br />
<br />
|-<br />
| void || SetActiveBuildTarget || int ||<br />
|-<br />
<br />
|-<br />
| int || GetActiveBuildTarget || ||<br />
|-<br />
<br />
|-<br />
| int || SelectTarget || int,bool ||<br />
|-<br />
<br />
|-<br />
| ProjectBuildTarget* || GetCurrentlyCompilingTarget || ||<br />
|-<br />
<br />
|-<br />
| void || SetCurrentlyCompilingTarget || ProjectBuildTarget* ||<br />
|-<br />
<br />
|-<br />
| PCHMode || GetModeForPCH || ||<br />
|-<br />
<br />
|-<br />
| void || SetModeForPCH || PCHMode ||<br />
|-<br />
<br />
|}<br />
<br />
== EditorBase ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| wxString || GetFilename || ||<br />
|-<br />
<br />
|-<br />
| void || SetFilename || wxString ||<br />
|-<br />
<br />
|-<br />
| wxString || GetShortName || ||<br />
|-<br />
<br />
|-<br />
| bool || GetModified || ||<br />
|-<br />
<br />
|-<br />
| void || SetModified || bool ||<br />
|-<br />
<br />
|-<br />
| wxString || GetTitle || ||<br />
|-<br />
<br />
|-<br />
| void || SetTitle || wxString ||<br />
|-<br />
<br />
|-<br />
| void || Activate || ||<br />
|-<br />
<br />
|-<br />
| bool || Close || ||<br />
|-<br />
<br />
|-<br />
| bool || Save || ||<br />
|-<br />
<br />
|-<br />
| bool || IsBuiltinEditor || ||<br />
|-<br />
<br />
|-<br />
| bool || ThereAreOthers || ||<br />
|-<br />
<br />
|-<br />
| void || GotoLine || int,bool ||<br />
|-<br />
<br />
|-<br />
| void || ToggleBreakpoint || int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || HasBreakpoint || int ||<br />
|-<br />
<br />
|-<br />
| void || GotoNextBreakpoint || ||<br />
|-<br />
<br />
|-<br />
| void || GotoPreviousBreakpoint || ||<br />
|-<br />
<br />
|-<br />
| void || ToggleBookmark || int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || HasBookmark || int ||<br />
|-<br />
<br />
|-<br />
| void || GotoNextBookmark || ||<br />
|-<br />
<br />
|-<br />
| void || GotoPreviousBookmark || ||<br />
|-<br />
<br />
|-<br />
| void || Undo || ||<br />
|-<br />
<br />
|-<br />
| void || Redo || ||<br />
|-<br />
<br />
|-<br />
| void || Cut || ||<br />
|-<br />
<br />
|-<br />
| void || Copy || ||<br />
|-<br />
<br />
|-<br />
| void || Paste || ||<br />
|-<br />
<br />
|-<br />
| bool || CanUndo || ||<br />
|-<br />
<br />
|-<br />
| bool || CanRedo || ||<br />
|-<br />
<br />
|-<br />
| bool || CanPaste || ||<br />
|-<br />
<br />
|-<br />
| bool || HasSelection || ||<br />
|-<br />
<br />
|}<br />
<br />
<br />
<br />
== cbEditor ==<br />
Extends EditorBase.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Return value<br />
!Name<br />
!Arguments<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| void || SetEditorTitle || wxString ||<br />
|-<br />
<br />
|-<br />
| ProjectFile* || GetProjectFile || ||<br />
|-<br />
<br />
|-<br />
| bool || SaveAs || ||<br />
|-<br />
<br />
|-<br />
| void || FoldAll || ||<br />
|-<br />
<br />
|-<br />
| void || UnfoldAll || ||<br />
|-<br />
<br />
|-<br />
| void || ToggleAllFolds || ||<br />
|-<br />
<br />
|-<br />
| void || FoldBlockFromLine || int ||<br />
|-<br />
<br />
|-<br />
| void || UnfoldBlockFromLine || int ||<br />
|-<br />
<br />
|-<br />
| void || ToggleFoldBlockFromLine || int ||<br />
|-<br />
<br />
|-<br />
| int || GetLineIndentInSpaces || int ||<br />
|-<br />
<br />
|-<br />
| wxString || GetLineIndentString || int ||<br />
|-<br />
<br />
|-<br />
| void || Touch || ||<br />
|-<br />
<br />
|-<br />
| bool || Reload || bool ||<br />
|-<br />
<br />
|-<br />
| void || Print || bool,PrintColourMode,bool ||<br />
|-<br />
<br />
|-<br />
| void || AutoComplete || ||<br />
|-<br />
<br />
|-<br />
| bool || AddBreakpoint || int,bool ||<br />
|-<br />
<br />
|-<br />
| bool || RemoveBreakpoint || int,bool ||<br />
|-<br />
<br />
|-<br />
| void || SetText || wxString || this is not present in cbEditor; included to help scripts edit text<br />
|-<br />
<br />
|-<br />
| wxString || GetText || || this is not present in cbEditor; included to help scripts edit text<br />
|-<br />
<br />
|}<br />
<br />
<br />
== Constants ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 0px solid gray"<br />
!Constant<br />
!Type<br />
!Remarks<br />
|-<br />
<br />
|-<br />
| PLATFORM || int || this defines the platform Code::Blocks is currently running on. It is equal to only one of the following PLATFORM_* constants<br />
|-<br />
<br />
|-<br />
| PLATFORM_MSW || int || All Windows platforms<br />
|-<br />
<br />
|-<br />
| PLATFORM_GTK || int || All GTK platforms (Linux, BSD, Solaris, Darwin)<br />
|-<br />
<br />
|-<br />
| PLATFORM_MAC || int || All Mac platforms<br />
|-<br />
<br />
|-<br />
| PLATFORM_OS2 || int || OS/2 platform<br />
|-<br />
<br />
|-<br />
| PLATFORM_X11 || int || All X11 platforms<br />
|-<br />
<br />
|-<br />
| PLATFORM_UNKNOWN || int || Unknown platform. Please inform us if PLATFORM == PLATFORM_UNKNOWN so we can make this platform known too ;)<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''Message dialog flags'''<br />
|-<br />
<br />
|-<br />
| wxOK || int || Flag for Message() 's third argument (flags).<br />
|-<br />
<br />
|-<br />
| wxYES_NO || int || -"-<br />
|-<br />
<br />
|-<br />
| wxCANCEL || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_QUESTION || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_INFORMATION || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_WARNING || int || -"-<br />
|-<br />
<br />
|-<br />
| wxICON_ERROR || int || -"-<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''Message dialog return values'''<br />
|-<br />
<br />
|-<br />
| wxID_OK || int ||<br />
|-<br />
<br />
|-<br />
| wxID_YES || int ||<br />
|-<br />
<br />
|-<br />
| wxID_NO || int ||<br />
|-<br />
<br />
|-<br />
| wxID_CANCEL || int ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum OptionsRelationType'''<br />
|-<br />
<br />
|-<br />
| ortCompilerOptions || enum ||<br />
|-<br />
<br />
|-<br />
| ortLinkerOptions || enum ||<br />
|-<br />
<br />
|-<br />
| ortIncludeDirs || enum ||<br />
|-<br />
<br />
|-<br />
| ortLibDirs || enum ||<br />
|-<br />
<br />
|-<br />
| ortResDirs || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum OptionsRelation'''<br />
|-<br />
<br />
|-<br />
| orUseParentOptionsOnly || enum ||<br />
|-<br />
<br />
|-<br />
| orUseTargetOptionsOnly || enum ||<br />
|-<br />
<br />
|-<br />
| orPrependToParentOptions || enum ||<br />
|-<br />
<br />
|-<br />
| orAppendToParentOptions || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum TargetType'''<br />
|-<br />
<br />
|-<br />
| ttExecutable || enum ||<br />
|-<br />
<br />
|-<br />
| ttConsoleOnly || enum ||<br />
|-<br />
<br />
|-<br />
| ttStaticLib || enum ||<br />
|-<br />
<br />
|-<br />
| ttDynamicLib || enum ||<br />
|-<br />
<br />
|-<br />
| ttCommandsOnly || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum MakeCommand'''<br />
|-<br />
<br />
|-<br />
| mcClean || enum ||<br />
|-<br />
<br />
|-<br />
| mcDistClean || enum ||<br />
|-<br />
<br />
|-<br />
| mcBuild || enum ||<br />
|-<br />
<br />
|-<br />
| mcCompileFile || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum PCHMode'''<br />
|-<br />
<br />
|-<br />
| pchSourceDir || enum ||<br />
|-<br />
<br />
|-<br />
| pchObjectDir || enum ||<br />
|-<br />
<br />
|-<br />
| pchSourceFile || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum PrintScope'''<br />
|-<br />
<br />
|-<br />
| psSelection || enum ||<br />
|-<br />
<br />
|-<br />
| psActiveEditor || enum ||<br />
|-<br />
<br />
|-<br />
| psAllOpenEditors || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum PrintColourMode'''<br />
|-<br />
<br />
|-<br />
| pcmBlackAndWhite || enum ||<br />
|-<br />
<br />
|-<br />
| pcmColourOnWhite || enum ||<br />
|-<br />
<br />
|-<br />
| pcmInvertColours || enum ||<br />
|-<br />
<br />
|-<br />
| pcmAsIs || enum ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''enum TemplateOutputType'''<br />
|-<br />
<br />
|-<br />
| wizProject || enum || TemplateOutputType::totProject<br />
|-<br />
<br />
|-<br />
| wizTarget || enum || TemplateOutputType::totTarget<br />
|-<br />
<br />
|-<br />
| wizFiles || enum || TemplateOutputType::totFiles<br />
|-<br />
<br />
|-<br />
| wizCustom || enum || TemplateOutputType::totCustom<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''Other constants'''<br />
|-<br />
<br />
|-<br />
| wxFILE_SEP_PATH || wxString || Path separator. "\" for windows, "/" for all other platforms<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''File extensions (e.g. "cbp")'''<br />
|-<br />
<br />
|-<br />
| EXT_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CODEBLOCKS || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_DEVCPP || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC6 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC6_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC7 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_MSVC7_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_D || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_F || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_F77 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_F95 || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CPP || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_C || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CC || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_CXX || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_HPP || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_H || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_HH || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_HXX || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_OBJECT || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_XRCRESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_STATICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_DYNAMICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_EXECUTABLE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_RESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| EXT_RESOURCEBIN || wxString ||<br />
|-<br />
<br />
|-<br />
| colspan="3" align="center" style="background: #f8f8f8;" | '''File extensions with leading dot (e.g. ".cbp")'''<br />
|-<br />
<br />
|-<br />
| DOT_EXT_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CODEBLOCKS || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_DEVCPP || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC6 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC6_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC7 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_MSVC7_WORKSPACE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_D || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_F || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_F77 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_F95 || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CPP || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_C || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CC || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_CXX || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_HPP || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_H || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_HH || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_HXX || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_OBJECT || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_XRCRESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_STATICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_DYNAMICLIB || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_EXECUTABLE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_RESOURCE || wxString ||<br />
|-<br />
<br />
|-<br />
| DOT_EXT_RESOURCEBIN || wxString ||<br />
|-<br />
<br />
|}<br />
<br />
== See also ==<br />
<br />
* [[Scripting Code::Blocks|Scripting index]]<br />
<br />
[[Category:Code::Blocks_Documentation]]<br />
[[Category:Scripting Code::Blocks]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows&diff=3883Installing Code::Blocks from source on Windows2006-10-02T22:19:06Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Installing Code::Blocks]]<br />
[[Category:Installing Code::Blocks from source]]<br />
<br />
== Prerequisites ==<br />
<br />
'''Note for RC2 users'''<br />
<br />
The older Code::Blocks RC2 does not support global compiler variables which were added after RC2 was released and is unable to read project files generated with post-RC2 versions.<br />
To build Code::Blocks, you need a post-RC2 build, such as any of the ''nightly builds'' obtainable by [/index.php?board=20.0 searching the forum].<br />
<br />
=== MinGW compiler ===<br />
<br />
At the present time, Code::Blocks only compiles successfully with the MinGW compiler. You will need a complete, working [[MinGW installation]].<br />
<br />
=== wxWidgets ===<br />
<br />
Code::Blocks officially supports wxWidgets 2.6.2<br />
<br />
You do ''not'' need MSYS (''in fact, if you have MSYS, make sure it is not in your PATH when building wxWidgets'').<br />
<br />
[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.2.zip Download wxWidgets 2.6.2 from Sourceforge].<br />
<br />
You can also use the more recent '''[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-Setup.exe wxWidgets-2.6.3]''', but you will need to install '''[ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.zip patch 2 for 2.6.3]''' over it.<br />
The patch is not a diff file, but a '''.zip''' file that must be unpacked on top of wxWidgets tree.<br />
<br />
=== SVN client ===<br />
<br />
In order to check out the Code::Blocks sources you will need a SVN client.<br />
It is recommended that you install [http://tortoisesvn.tigris.org/download.html TortoiseSVN] on your machine, as this is a lot more comfortable. However, if you get a bad feeling when some program is messing with your Explorer menu, then you can use the [http://subversion.tigris.org/project_packages.html svn commandline client].<br />
<br />
=== Code::Blocks sources ===<br />
<br />
You will also (obviously) need the Code::Blocks sources. <br />
<br />
Using ''TortoiseSVN'', make a folder where you want to store the sources, right-click on the folder, and select "SVN Checkout...".<br />
<br />
In the top box, enter svn://svn.berlios.de/codeblocks/trunk and hit the OK button.<br />
<br />
Using ''svn'', you have to open a command prompt ("DOS Window"). Make a folder, change directory, and run svn:<br />
<br />
mkdir codeblocks-head<br />
cd codeblocks-head<br />
svn checkout svn://svn.berlios.de/codeblocks/trunk<br />
<br />
=== zip.exe ===<br />
<br />
You'll also need the 'zip.exe' compression program, found [http://www.info-zip.org/ here].<br />
Only the command-line zip.exe is needed; you must install it somewhere in your PATH.<br />
Put zip.exe wherever you installed MinGW in the '''bin''', or the '''mingw32\bin''' folder. <br />
<br />
== Building ==<br />
<br />
=== Unicode Build ===<br />
<br />
==== Compile wxWidgets in Unicode mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets:<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx). Enter the location where you unpacked wxWidgets.<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy <tt>lib\gcc_dll\wxmsw26u_gcc_custom.dll</tt> from the wxWidgets directory to the <tt>src\devel</tt> directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into dll hell).<br />
<br />
Run <tt>src\update.bat</tt> (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The location of executable is <tt>src\output</tt> in Code::Blocks tree. From here you do not need the nighty build any more.<br />
<br />
For future updates, go into the Code::Blocks root directory and run <tt>svn update</tt> (or use TurtoiseSVN to the same effect).<br/><br />
Then open and build the project as described before (and any contrib plugins that you wish to use), and re-run <tt>src\update.bat</tt>. You'll now have an up-to-date Code::Blocks!<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all).<br/><br />
When you open the contrib plugins workspace, you will be asked to define the <tt>$(#cb)</tt> global compiler variable. The build process uses this information to place the plugins and data files into the correct place. Enter the location of the Code::Blocks sources in the same way as for the <tt>$(#wx)</tt> variable earlier.<br />
<br />
Don't forget to run update.bat again after building the contrib plugins.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
=== ANSI Build ===<br />
<br />
<div style="background-color: #f7d9d9; border: 1px solid #000"><br />
<div style="margin: 5px;"><br />
<br />
==== DEPRECATION WARNING: ====<br />
As of February 2006, the official default build for Code::Blocks is '''Unicode''' (see above). Although ANSI builds are technically possible, we discourage their use unless there is a good reason.<br/><br />
''Support for ANSI builds is likely to be dropped after Version 1.0 is out.''<br />
<br />
There is hardly any good argument against using a Unicode build if your OS supports Unicode, even if you do not understand any other language than English, as a Unicode version guarantees that it will be able to work with whatever languages you may possibly encounter in the future -- at a very reasonable cost.<br />
<br />
However, if you absolutely don't care about Unicode or if you are bound to use Windows 95, then you may want to build an ANSI version nevertheless.<br />
<br />
</div><br />
</div><br />
<br />
==== Compile wxWidgets in ANSI mode ====<br />
<br />
After unpacking the zip file to a directory of your choice, open a cmd prompt, and navigate to the folder build/msw inside the wxWidgets folder. Use the following commands to compile wxWidgets<br />
<br />
set path=c:\mingw\bin;c:\mingw\mingw32\bin<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 clean<br />
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0<br />
<br />
This assumes your MinGW installation is in C:\mingw. Use a different path if you installed MinGW somewhere else.<br />
<br />
You will see a lot of warning messages during compilation. Don't worry, this is normal, you are compiling wxWidgets. The build process may take 10-30 minutes, depending on your computer's speed.<br />
<br />
'''Optional:'''<br />
<br />
To reduce the size of your wxWidgets library, you can disable features which are not used by Code::Blocks. However, you should not do this unless you know what you are doing. You have to delete the generated setup.h from lib/gcc_dll/msw/wx before building, because your changes to include/wx/msw will otherwise not be honoured.<br />
<br />
==== Compile Code::Blocks ====<br />
<br />
Open the project CodeBlocks.cbp. You will be prompted to define the global variable $(#wx) if you have not used it before. Enter the location where you unpacked wxWidgets.<br />
<br />
'''Important:''' The project file is set to compile an Unicode version of Code::Blocks by default. To make an ANSI build, you have to make the following two changes to build options before compiling:<br />
1. In the "Compiler" tab, under "#defines", remove the entry wxUSE_UNICODE.<br />
2. Under "Custom variables", set the variable WX_SUFFIX to empty (default value: u).<br />
<br />
Hit the blue gear and lean back. Compilation may take 3-5 minutes, depending on the speed of your computer.<br />
<br />
After the compilaton has finished, copy wxmsw26u_gcc_custom.dll from lib\gcc_dll inside the wxWidgets directory to the devel directory inside the Code::Blocks source folder (it will also work if you keep a copy of that library in your Windows folder or anywhere in your system path, but this is generally not recommended because you can get into [http://en.wikipedia.org/wiki/DLL_hell dll hell] ).<br />
Run update.bat (located in the root source directory). This will pack the resource files and copy libraries and plugins to their correct locations.<br />
The location of executable is src\output in C::B tree. From here you'll not need the nighty build anymore.<br />
<br />
One little note for svn updates and rebuilds : just go into the codeblocks root directory and do '''svn update''' (or use Turtoise svn).<br />
<br />
Then run the src/output/codeblocks.exe, reload project, build it, reload plugins workspace, build it, quit codeblocks and re-run update.bat. You'll have an up-to-date C::B in 3 minutes !<br />
<br />
==== Install Code::Blocks ====<br />
<br />
Copy the folder output to where you want Code::Blocks to reside.<br />
<br />
==== Compile contributed (or your own) plugins ====<br />
<br />
The workspace file ContribPlugins.workspace contains the project files for all contributed plugins. Open that workspace and compile the plugins which you would like to use (or select "Build Workspace" from the context menu if you want them all). Don't forget to run update.bat again after building the contrib plugins.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Help:Editing&diff=3874Help:Editing2006-09-30T17:24:27Z<p>Sethjackson: </p>
<hr />
<div>== General ==<br />
<br />
To edit a MediaWiki page, click on the '''"Edit this page"''' (or just '''"edit"''') link at one of its edges. This will bring you to a page with a text box containing the ''wikitext'': the editable source code from which the server produces the webpage. For the special codes, see below.<br />
<br />
After adding to or changing the wikitext it is useful to press "Preview", which produces the corresponding webpage in your browser but does not make it publicly available yet (not until you press "Save"). Errors in formatting, links, tables, etc., are often much easier to discover from the rendered page than from the raw wikitext.<br />
<br />
If you are not satisfied you can make more changes and preview the page as many times as necessary. Then write a short edit summary in the small text field below the edit-box and when finished press "Save". Depending on your system, pressing the "Enter" key while the edit box is not active (i.e., there is no typing cursor in it) may have the same effect as pressing "Save".<br />
<br />
You may find it more convenient to copy and paste the text first into your favorite text editor, edit and spell check it there, and then paste it back into your web browser to preview. This way, you can also keep a local backup copy of the pages you have edited. It also allows you to make changes offline, but before you submit your changes, please make sure nobody else has edited the page since you saved your local copy (by checking the page history), otherwise you may accidently revert someone else's edits. If someone has edited it since you copied the page, you'll have to merge their edits into your new version (you can find their specific edits by using the "diff" feature of the page history). These issues are handled automatically by the Mediawiki software if you edit the page online, retrieving and submitting the wikicode in the same text box. <br />
<br />
== Dummy edit ==<br />
<br />
If the wikitext is not changed no edit will be recorded and the edit summary is discarded.<br />
<br />
A dummy edit is a change in wikitext that has no effect on the rendered page, such as changing the number of newlines at some position from 0 to 1 or from 2 to 3 or conversely (changing from 1 to 2 makes a difference, see below). This allows an edit summary, and is useful for correcting a previous edit summary, or an accidental marking of a previous edit as "minor" (see below). Also it is sometimes needed to refresh the cache of some item in the database. <br />
<br />
== Minor edits ==<br />
<br />
When editing a page, a logged-in user has the option of flagging the edit as a "minor edit". This feature is important, because users can choose to hide minor edits in their view of the [[Special:Recentchanges|Recent Changes page]], to keep the volume of edits down to a manageable level.<br />
<br />
When to use this is somewhat a matter of personal preference. The rule of thumb is that an edit of a page that consists of spelling corrections, formatting, and minor rearranging of text should be flagged as a "minor edit". A major edit is basically something that makes the entry worth revisiting for somebody who wants to watch the article rather closely. So any "real" change, even if it is a single word, should be flagged as a "major edit".<br />
<br />
The reason for not allowing a user who is not logged in to mark an edit as minor is that vandalism could then be marked as a minor edit, in which case it would stay unnoticed longer. This limitation is another reason to log in.<br />
<br />
== The wiki markup ==<br />
<br />
In the left column of the table below, you can see what effects are possible. In the right column, you can see how those effects were achieved. In other words, to make text look like it looks in the left column, type it in the format you see in the right column.<br />
<br />
You may want to keep this page open in a separate browser window for reference. If you want to try out things without danger of doing any harm, you can do so in the [[Sandbox]].<br />
<br />
=== General formatting ===<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray;"<br />
!What it looks like <br />
!What you type <br />
|-<br />
<br />
|-<br />
| <br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
|<br />
<pre><br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
</pre> <br />
|-<br />
<br />
|-<br />
|<br />
You can <strike>strike out text</strike>, and <u>underline it too</u>.<br />
|<br />
<pre><br />
You can <strike>strike out text</strike>, and <u>underline it too</u>.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
|<br />
<pre><br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
|<br />
<pre><br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
*** The more asterisks the deeper the list item.<br />
|<br />
<pre><br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
** The more asterisks the deeper the list item.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
|<br />
<pre><br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
: A colon indents a line or paragraph.<br />
|<br />
<pre><br />
: A colon indents a line or paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You should "sign" your comments on talk pages:<br />
: Three tildes gives your user name: [[User:Sethjackson|Sethjackson]]<br />
: Four tildes give your user name plus date/time: [[User:Sethjackson|Sethjackson]] 08:21, 27 May 2006 (EDT)<br />
: Five tildes gives the date/time alone: 08:21, 27 May 2006 (EDT)<br />
|<br />
<pre><br />
You should "sign" your comments<br />
on talk pages:<br />
: Three tildes gives your user<br />
name: ~~~<br />
: Four tildes give your user <br />
name plus date/time: ~~~~<br />
: Five tildes gives the <br />
date/time alone: ~~~~~<br />
</pre><br />
|-<br />
<br />
|}<br />
<br />
== Templates ==<br />
<br />
Some part of a page may correspond in the edit box to just a reference to another page, in the form <nowiki>{{name}}</nowiki>, referring to the page "Template:''name''" (or if the name starts with a namespace prefix, it refers to the page with that name; if it starts with a colon it refers to the page in the main namespace with that name without the colon). This is called a [[Help:Template|template]]. For changing that part of the page, edit that other page. Sometimes a separate edit link is provided for this purpose.<br />
<br />
== Page protection ==<br />
<br />
In a few cases the link labeled "Edit this page" is replaced by the text "Protected page" (or equivalents in the language of the project). In that case the page can not be edited.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Help:Editing&diff=3873Help:Editing2006-09-30T17:22:59Z<p>Sethjackson: /* General formatting */</p>
<hr />
<div>== General ==<br />
<br />
To edit a MediaWiki page, click on the '''"Edit this page"''' (or just '''"edit"''') link at one of its edges. This will bring you to a page with a text box containing the ''wikitext'': the editable source code from which the server produces the webpage. For the special codes, see below.<br />
<br />
After adding to or changing the wikitext it is useful to press "Preview", which produces the corresponding webpage in your browser but does not make it publicly available yet (not until you press "Save"). Errors in formatting, links, tables, etc., are often much easier to discover from the rendered page than from the raw wikitext.<br />
<br />
If you are not satisfied you can make more changes and preview the page as many times as necessary. Then write a short edit summary in the small text field below the edit-box and when finished press "Save". Depending on your system, pressing the "Enter" key while the edit box is not active (i.e., there is no typing cursor in it) may have the same effect as pressing "Save".<br />
<br />
You may find it more convenient to copy and paste the text first into your favorite text editor, edit and spell check it there, and then paste it back into your web browser to preview. This way, you can also keep a local backup copy of the pages you have edited. It also allows you to make changes offline, but before you submit your changes, please make sure nobody else has edited the page since you saved your local copy (by checking the page history), otherwise you may accidently revert someone else's edits. If someone has edited it since you copied the page, you'll have to merge their edits into your new version (you can find their specific edits by using the "diff" feature of the page history). These issues are handled automatically by the Mediawiki software if you edit the page online, retrieving and submitting the wikicode in the same text box. <br />
<br />
== Dummy edit ==<br />
<br />
If the wikitext is not changed no edit will be recorded and the edit summary is discarded.<br />
<br />
A dummy edit is a change in wikitext that has no effect on the rendered page, such as changing the number of newlines at some position from 0 to 1 or from 2 to 3 or conversely (changing from 1 to 2 makes a difference, see below). This allows an edit summary, and is useful for correcting a previous edit summary, or an accidental marking of a previous edit as "minor" (see below). Also it is sometimes needed to refresh the cache of some item in the database, see e.g. A category tag in a template; caching problem. <br />
<br />
== Minor edits ==<br />
<br />
When editing a page, a logged-in user has the option of flagging the edit as a "minor edit". This feature is important, because users can choose to hide minor edits in their view of the [[Special:Recentchanges|Recent Changes page]], to keep the volume of edits down to a manageable level.<br />
<br />
When to use this is somewhat a matter of personal preference. The rule of thumb is that an edit of a page that consists of spelling corrections, formatting, and minor rearranging of text should be flagged as a "minor edit". A major edit is basically something that makes the entry worth revisiting for somebody who wants to watch the article rather closely. So any "real" change, even if it is a single word, should be flagged as a "major edit".<br />
<br />
The reason for not allowing a user who is not logged in to mark an edit as minor is that vandalism could then be marked as a minor edit, in which case it would stay unnoticed longer. This limitation is another reason to log in.<br />
<br />
== The wiki markup ==<br />
<br />
In the left column of the table below, you can see what effects are possible. In the right column, you can see how those effects were achieved. In other words, to make text look like it looks in the left column, type it in the format you see in the right column.<br />
<br />
You may want to keep this page open in a separate browser window for reference. If you want to try out things without danger of doing any harm, you can do so in the [[Sandbox]].<br />
<br />
=== General formatting ===<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray;"<br />
!What it looks like <br />
!What you type <br />
|-<br />
<br />
|-<br />
| <br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
|<br />
<pre><br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
</pre> <br />
|-<br />
<br />
|-<br />
|<br />
You can <strike>strike out text</strike>, and <u>underline it too</u>.<br />
|<br />
<pre><br />
You can <strike>strike out text</strike>, and <u>underline it too</u>.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
|<br />
<pre><br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
|<br />
<pre><br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
*** The more asterisks the deeper the list item.<br />
|<br />
<pre><br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
** The more asterisks the deeper the list item.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
|<br />
<pre><br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
: A colon indents a line or paragraph.<br />
|<br />
<pre><br />
: A colon indents a line or paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You should "sign" your comments on talk pages:<br />
: Three tildes gives your user name: [[User:Sethjackson|Sethjackson]]<br />
: Four tildes give your user name plus date/time: [[User:Sethjackson|Sethjackson]] 08:21, 27 May 2006 (EDT)<br />
: Five tildes gives the date/time alone: 08:21, 27 May 2006 (EDT)<br />
|<br />
<pre><br />
You should "sign" your comments<br />
on talk pages:<br />
: Three tildes gives your user<br />
name: ~~~<br />
: Four tildes give your user <br />
name plus date/time: ~~~~<br />
: Five tildes gives the <br />
date/time alone: ~~~~~<br />
</pre><br />
|-<br />
<br />
|}<br />
<br />
== Templates ==<br />
<br />
Some part of a page may correspond in the edit box to just a reference to another page, in the form <nowiki>{{name}}</nowiki>, referring to the page "Template:''name''" (or if the name starts with a namespace prefix, it refers to the page with that name; if it starts with a colon it refers to the page in the main namespace with that name without the colon). This is called a [[Help:Template|template]]. For changing that part of the page, edit that other page. Sometimes a separate edit link is provided for this purpose.<br />
<br />
== Page protection ==<br />
<br />
In a few cases the link labeled "Edit this page" is replaced by the text "Protected page" (or equivalents in the language of the project). In that case the page can not be edited.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Help:Editing&diff=3872Help:Editing2006-09-30T17:18:17Z<p>Sethjackson: /* The wiki markup */</p>
<hr />
<div>== General ==<br />
<br />
To edit a MediaWiki page, click on the '''"Edit this page"''' (or just '''"edit"''') link at one of its edges. This will bring you to a page with a text box containing the ''wikitext'': the editable source code from which the server produces the webpage. For the special codes, see below.<br />
<br />
After adding to or changing the wikitext it is useful to press "Preview", which produces the corresponding webpage in your browser but does not make it publicly available yet (not until you press "Save"). Errors in formatting, links, tables, etc., are often much easier to discover from the rendered page than from the raw wikitext.<br />
<br />
If you are not satisfied you can make more changes and preview the page as many times as necessary. Then write a short edit summary in the small text field below the edit-box and when finished press "Save". Depending on your system, pressing the "Enter" key while the edit box is not active (i.e., there is no typing cursor in it) may have the same effect as pressing "Save".<br />
<br />
You may find it more convenient to copy and paste the text first into your favorite text editor, edit and spell check it there, and then paste it back into your web browser to preview. This way, you can also keep a local backup copy of the pages you have edited. It also allows you to make changes offline, but before you submit your changes, please make sure nobody else has edited the page since you saved your local copy (by checking the page history), otherwise you may accidently revert someone else's edits. If someone has edited it since you copied the page, you'll have to merge their edits into your new version (you can find their specific edits by using the "diff" feature of the page history). These issues are handled automatically by the Mediawiki software if you edit the page online, retrieving and submitting the wikicode in the same text box. <br />
<br />
== Dummy edit ==<br />
<br />
If the wikitext is not changed no edit will be recorded and the edit summary is discarded.<br />
<br />
A dummy edit is a change in wikitext that has no effect on the rendered page, such as changing the number of newlines at some position from 0 to 1 or from 2 to 3 or conversely (changing from 1 to 2 makes a difference, see below). This allows an edit summary, and is useful for correcting a previous edit summary, or an accidental marking of a previous edit as "minor" (see below). Also it is sometimes needed to refresh the cache of some item in the database, see e.g. A category tag in a template; caching problem. <br />
<br />
== Minor edits ==<br />
<br />
When editing a page, a logged-in user has the option of flagging the edit as a "minor edit". This feature is important, because users can choose to hide minor edits in their view of the [[Special:Recentchanges|Recent Changes page]], to keep the volume of edits down to a manageable level.<br />
<br />
When to use this is somewhat a matter of personal preference. The rule of thumb is that an edit of a page that consists of spelling corrections, formatting, and minor rearranging of text should be flagged as a "minor edit". A major edit is basically something that makes the entry worth revisiting for somebody who wants to watch the article rather closely. So any "real" change, even if it is a single word, should be flagged as a "major edit".<br />
<br />
The reason for not allowing a user who is not logged in to mark an edit as minor is that vandalism could then be marked as a minor edit, in which case it would stay unnoticed longer. This limitation is another reason to log in.<br />
<br />
== The wiki markup ==<br />
<br />
In the left column of the table below, you can see what effects are possible. In the right column, you can see how those effects were achieved. In other words, to make text look like it looks in the left column, type it in the format you see in the right column.<br />
<br />
You may want to keep this page open in a separate browser window for reference. If you want to try out things without danger of doing any harm, you can do so in the [[Sandbox]].<br />
<br />
=== General formatting ===<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray;"<br />
!What it looks like <br />
!What you type <br />
|-<br />
<br />
|-<br />
| <br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
|<br />
<pre><br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
</pre> <br />
|-<br />
<br />
|-<br />
|<br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
|<br />
<pre><br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
|<br />
<pre><br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
*** The more asterisks the deeper the list item.<br />
|<br />
<pre><br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
** The more asterisks the deeper the list item.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
|<br />
<pre><br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
: A colon indents a line or paragraph.<br />
|<br />
<pre><br />
: A colon indents a line or paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You should "sign" your comments on talk pages:<br />
: Three tildes gives your user name: [[User:Sethjackson|Sethjackson]]<br />
: Four tildes give your user name plus date/time: [[User:Sethjackson|Sethjackson]] 08:21, 27 May 2006 (EDT)<br />
: Five tildes gives the date/time alone: 08:21, 27 May 2006 (EDT)<br />
|<br />
<pre><br />
You should "sign" your comments<br />
on talk pages:<br />
: Three tildes gives your user<br />
name: ~~~<br />
: Four tildes give your user <br />
name plus date/time: ~~~~<br />
: Five tildes gives the <br />
date/time alone: ~~~~~<br />
</pre><br />
|-<br />
<br />
|}<br />
<br />
== Templates ==<br />
<br />
Some part of a page may correspond in the edit box to just a reference to another page, in the form <nowiki>{{name}}</nowiki>, referring to the page "Template:''name''" (or if the name starts with a namespace prefix, it refers to the page with that name; if it starts with a colon it refers to the page in the main namespace with that name without the colon). This is called a [[Help:Template|template]]. For changing that part of the page, edit that other page. Sometimes a separate edit link is provided for this purpose.<br />
<br />
== Page protection ==<br />
<br />
In a few cases the link labeled "Edit this page" is replaced by the text "Protected page" (or equivalents in the language of the project). In that case the page can not be edited.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Help:Editing&diff=3871Help:Editing2006-09-30T17:17:40Z<p>Sethjackson: </p>
<hr />
<div>== General ==<br />
<br />
To edit a MediaWiki page, click on the '''"Edit this page"''' (or just '''"edit"''') link at one of its edges. This will bring you to a page with a text box containing the ''wikitext'': the editable source code from which the server produces the webpage. For the special codes, see below.<br />
<br />
After adding to or changing the wikitext it is useful to press "Preview", which produces the corresponding webpage in your browser but does not make it publicly available yet (not until you press "Save"). Errors in formatting, links, tables, etc., are often much easier to discover from the rendered page than from the raw wikitext.<br />
<br />
If you are not satisfied you can make more changes and preview the page as many times as necessary. Then write a short edit summary in the small text field below the edit-box and when finished press "Save". Depending on your system, pressing the "Enter" key while the edit box is not active (i.e., there is no typing cursor in it) may have the same effect as pressing "Save".<br />
<br />
You may find it more convenient to copy and paste the text first into your favorite text editor, edit and spell check it there, and then paste it back into your web browser to preview. This way, you can also keep a local backup copy of the pages you have edited. It also allows you to make changes offline, but before you submit your changes, please make sure nobody else has edited the page since you saved your local copy (by checking the page history), otherwise you may accidently revert someone else's edits. If someone has edited it since you copied the page, you'll have to merge their edits into your new version (you can find their specific edits by using the "diff" feature of the page history). These issues are handled automatically by the Mediawiki software if you edit the page online, retrieving and submitting the wikicode in the same text box. <br />
<br />
== Dummy edit ==<br />
<br />
If the wikitext is not changed no edit will be recorded and the edit summary is discarded.<br />
<br />
A dummy edit is a change in wikitext that has no effect on the rendered page, such as changing the number of newlines at some position from 0 to 1 or from 2 to 3 or conversely (changing from 1 to 2 makes a difference, see below). This allows an edit summary, and is useful for correcting a previous edit summary, or an accidental marking of a previous edit as "minor" (see below). Also it is sometimes needed to refresh the cache of some item in the database, see e.g. A category tag in a template; caching problem. <br />
<br />
== Minor edits ==<br />
<br />
When editing a page, a logged-in user has the option of flagging the edit as a "minor edit". This feature is important, because users can choose to hide minor edits in their view of the [[Special:Recentchanges|Recent Changes page]], to keep the volume of edits down to a manageable level.<br />
<br />
When to use this is somewhat a matter of personal preference. The rule of thumb is that an edit of a page that consists of spelling corrections, formatting, and minor rearranging of text should be flagged as a "minor edit". A major edit is basically something that makes the entry worth revisiting for somebody who wants to watch the article rather closely. So any "real" change, even if it is a single word, should be flagged as a "major edit".<br />
<br />
The reason for not allowing a user who is not logged in to mark an edit as minor is that vandalism could then be marked as a minor edit, in which case it would stay unnoticed longer. This limitation is another reason to log in.<br />
<br />
== The wiki markup ==<br />
<br />
In the left column of the table below, you can see what effects are possible. In the right column, you can see how those effects were achieved. In other words, to make text look like it looks in the left column, type it in the format you see in the right column.<br />
<br />
You may want to keep this page open in a separate browser window for reference. If you want to try out things without danger of doing any harm, you can do so in the [[Sandbox]].<br />
<br />
=== Basic text formatting ===<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray;"<br />
!What it looks like <br />
!What you type <br />
|-<br />
<br />
|-<br />
| <br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
|<br />
<pre><br />
You can ''emphasize text'' by putting two<br />
apostrophes on each side. Three apostrophes<br />
will emphasize it '''strongly'''. Five<br />
apostrophes is '''''even stronger'''''.<br />
</pre> <br />
|-<br />
<br />
|-<br />
|<br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
|<br />
<pre><br />
A single newline has no effect on the layout.<br />
<br />
But an empty line starts a new paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
|<br />
<pre><br />
You can break lines<br /><br />
without a new paragraph.<br /><br />
Please use this sparingly.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
*** The more asterisks the deeper the list item.<br />
|<br />
<pre><br />
* Lists are easy.<br />
** Start every line with an asterisk.<br />
** The more asterisks the deeper the list item.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
|<br />
<pre><br />
# Numbered lists are easy too.<br />
## Just start every line with the hash symbol.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
: A colon indents a line or paragraph.<br />
|<br />
<pre><br />
: A colon indents a line or paragraph.<br />
</pre><br />
|-<br />
<br />
|-<br />
|<br />
You should "sign" your comments on talk pages:<br />
: Three tildes gives your user name: [[User:Sethjackson|Sethjackson]]<br />
: Four tildes give your user name plus date/time: [[User:Sethjackson|Sethjackson]] 08:21, 27 May 2006 (EDT)<br />
: Five tildes gives the date/time alone: 08:21, 27 May 2006 (EDT)<br />
|<br />
<pre><br />
You should "sign" your comments<br />
on talk pages:<br />
: Three tildes gives your user<br />
name: ~~~<br />
: Four tildes give your user <br />
name plus date/time: ~~~~<br />
: Five tildes gives the <br />
date/time alone: ~~~~~<br />
</pre><br />
|-<br />
<br />
|}<br />
<br />
== Templates ==<br />
<br />
Some part of a page may correspond in the edit box to just a reference to another page, in the form <nowiki>{{name}}</nowiki>, referring to the page "Template:''name''" (or if the name starts with a namespace prefix, it refers to the page with that name; if it starts with a colon it refers to the page in the main namespace with that name without the colon). This is called a [[Help:Template|template]]. For changing that part of the page, edit that other page. Sometimes a separate edit link is provided for this purpose.<br />
<br />
== Page protection ==<br />
<br />
In a few cases the link labeled "Edit this page" is replaced by the text "Protected page" (or equivalents in the language of the project). In that case the page can not be edited.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Main_Page&diff=3870Main Page2006-09-30T16:54:57Z<p>Sethjackson: </p>
<hr />
<div>__NOEDITSECTION__ __NOTOC__<br />
{{Layout_box1|1=<br />
[[Image:cb_splash.png|left]]<br />
'''Welcome to the official Wiki for Code::Blocks'''<br><br />
[https://www.codeblocks.org Code::Blocks] is an open-source, cross-platform [[wikipedia:Integrated Development Environment|IDE]]. Using a plugin architecture, its capabilities and features are defined by the provided plugins.<br><br />
Currently, [https://www.codeblocks.org Code::Blocks] is oriented towards C/C++.<br />
The Code::Blocks team does not take responsibility for the content nor accuracy of these pages.<br />
<br />
<br />
<small>Wiki Editors: In order to login to edit pages, you must create an account on the [/ forums]. Use the same username and password for the wiki. Read the [[Help:Contents|Help]] for editing guidelines. Look in the [[CodeBlocks:Community_Portal|community portal]] for things to do.<br />
</small><br />
}}<br />
<br />
{|width="100%" background-color="transparent" <br />
|width="60%" valign="top"|<br />
<!-- LEFT --><br />
{{Layout_box3|1=<br />
=== [[Installing Code::Blocks]] ===<br />
}}<br />
<br />
{{Layout_box2|1=<br />
=== [[Code::Blocks Documentation|Documentation]] ===<br />
}}<br />
<br />
{{Layout_box3|1=<br />
=== Supported compilers ===<br />
* [http://gcc.gnu.org/ GNU GCC (incl. G77)] (Linux)<br />
* [http://www.mingw.org MinGW GCC (incl. G77)] (Win32)<br />
* [http://developer.apple.com/tools/ Apple GCC (Xcode)] (Mac OS X)<br />
* [http://msdn.microsoft.com/visualc/vctoolkit2003 Microsoft Visual C++ Toolkit 2003] (Win32) (Toolkit was removed from the msdn site)<br />
* [http://msdn.microsoft.com/vstudio/express/visualc/download/ Microsoft Visual C++ 2005] (Win32)<br />
* [http://www.borland.com/products/downloads/download_cbuilder.html Borland's C++ Compiler 5.5] (Win32)<br />
* [http://www.digitalmars.com/ DigitalMars C/C++] (Win32)<br />
* [http://store.scitechsoft.com/product_info.php?products_id=37/ OpenWatcom] (Win32)<br />
* [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/219754.htm Intel C++ compiler] (Win32)<br />
* [http://sdcc.sourceforge.net/ Small Device C Compiler (SDCC)]<br />
* [http://www.digitalmars.com/d/dcompiler.html Digital Mars D] (Win32, Linux)<br />
* [http://dgcc.sourceforge.net/ GDC D Compiler]<br />
}}<br />
|width="40%" valign="top"|<br />
<!-- RIGHT --><br />
{{Layout_box4|1=<br />
=== Downloads ===<br />
* [/index.php?board=20.0 Nightly builds] (updated each night)<br />
* Last official release: [https://www.codeblocks.org/downloads.shtml 1.0rc2]<br />
}}<br />
{{Layout_box2|1=<br />
=== Developers ===<br />
[[Image:Chk.png]][[Roadmap]] <br />
* [[Developer documentation]]<br />
* [[Announcement for plugins/patches]] or similar<br />
* [http://developer.berlios.de/projects/codeblocks/ Project page at BerliOS]<br />
* '''Bugs''': [http://developer.berlios.de/bugs/?group_id=5358 Browse] or [http://developer.berlios.de/bugs/?func=addbug&group_id=5358 submit new]<br />
* '''Features''': [http://developer.berlios.de/feature/?group_id=5358 Browse] or [http://developer.berlios.de/feature/?func=addfeature&group_id=5358 submit new]<br />
* '''Patches''': [http://developer.berlios.de/patch/?group_id=5358 Browse] or [http://developer.berlios.de/patch/?func=addpatch&group_id=5358 submit new]<br />
}}<br />
{{Layout_box2|1=<br />
=== Other resources ===<br />
* [https://www.codeblocks.org Main website]<br />
* [ Community forums]<br />
}}<br />
|}<br />
<br />
<br />
<center>[https://www.codeblocks.org/about.shtml The Code::Blocks team]</center></div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Keyboard_Shortcuts&diff=3869Keyboard Shortcuts2006-09-30T16:33:10Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Documentation]]<br />
<br />
::''Note: You can define your own keyboard shortcuts with the [[Keyboard Shortcuts plugin]]''<br />
<br />
== Editor ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| Undo last action || Ctrl + Z<br />
|-<br />
<br />
|-<br />
| Redo last action || Ctrl + Shift + Z<br />
|-<br />
<br />
|-<br />
| Cut selected text || Ctrl + X<br />
|-<br />
<br />
|-<br />
| Copy selected text || Ctrl + C<br />
|-<br />
<br />
|-<br />
| Paste text from clipboard || Ctrl + V<br />
|-<br />
<br />
|-<br />
| Select all text || Ctrl + A<br />
|-<br />
<br />
|-<br />
| Swap header / source || F11<br />
|-<br />
<br />
|-<br />
| Comment highlighted code || Ctrl + Shift + C<br />
|-<br />
<br />
|-<br />
| Uncomment highlighted code || Ctrl + Shift + X<br />
|-<br />
<br />
|-<br />
| Duplicate line caret is on || Ctrl + D<br />
|-<br />
<br />
|-<br />
| Auto-complete || Ctrl + J / Ctrl + Space<br />
|-<br />
<br />
|-<br />
| Show call tip || Ctrl + Shift + Space<br />
|-<br />
<br />
|-<br />
| Delete line caret is on || Ctrl + L<br />
|-<br />
<br />
|-<br />
| Swap line caret is on with line above it || Ctrl + T<br />
|-<br />
<br />
|-<br />
| Toggle bookmark || Ctrl + B<br />
|-<br />
<br />
|-<br />
| Goto previous bookmark || Alt + PgUp<br />
|-<br />
<br />
|-<br />
| Goto next bookmark || Alt + PgDown<br />
|-<br />
<br />
|-<br />
| Toggle current block folding || F12<br />
|-<br />
<br />
|-<br />
| Toggle all folds || Shift + F12<br />
|-<br />
<br />
|}<br />
<br />
<br />
This is a list of shortcuts provided by the Code::Blocks' editor component. These shortcuts cannot be rebound.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| Magnify text size. || Ctrl + Keypad "+"<br />
|-<br />
<br />
|-<br />
| Reduce text size. || Ctrl + Keypad "-"<br />
|-<br />
<br />
|-<br />
| Restore text size to normal. || Ctrl + Keypad "/"<br />
|-<br />
<br />
|-<br />
| Cycle through recent files. || Ctrl + Tab<br />
|-<br />
<br />
|-<br />
| Indent block. || Tab<br />
|-<br />
<br />
|-<br />
| Dedent block. || Shift + Tab<br />
|-<br />
<br />
|-<br />
| Delete to start of word. || Ctrl + BackSpace<br />
|-<br />
<br />
|-<br />
| Delete to end of word. || Ctrl + Delete<br />
|-<br />
<br />
|-<br />
| Delete to start of line. || Ctrl + Shift + BackSpace<br />
|-<br />
<br />
|-<br />
| Delete to end of line. || Ctrl + Shift + Delete<br />
|-<br />
<br />
|-<br />
| Go to start of document. || Ctrl + Home<br />
|-<br />
<br />
|-<br />
| Extend selection to start of document. || Ctrl + Shift + Home<br />
|-<br />
<br />
|-<br />
| Go to start of display line. || Alt + Home<br />
|-<br />
<br />
|-<br />
| Extend selection to start of display line. || Alt + Shift + Home<br />
|-<br />
<br />
|-<br />
| Go to end of document. || Ctrl + End<br />
|-<br />
<br />
|-<br />
| Extend selection to end of document. || Ctrl + Shift + End<br />
|-<br />
<br />
|-<br />
| Go to end of display line. || Alt + End<br />
|-<br />
<br />
|-<br />
| Extend selection to end of display line. || Alt + Shift + End<br />
|-<br />
<br />
|-<br />
| Expand or contract a fold point. || Ctrl + Keypad "*"<br />
|-<br />
<br />
|-<br />
| Create or delete a bookmark. || Ctrl + F2<br />
|-<br />
<br />
|-<br />
| Go to next bookmark. || F2<br />
|-<br />
<br />
|-<br />
| Select to next bookmark. || Alt + F2<br />
|-<br />
<br />
|-<br />
| Find selection. || Ctrl + F3<br />
|-<br />
<br />
|-<br />
| Find selection backwards. || Ctrl + Shift + F3<br />
|-<br />
<br />
|-<br />
| Scroll up. || Ctrl + Up<br />
|-<br />
<br />
|-<br />
| Scroll down. || Ctrl + Down<br />
|-<br />
<br />
|-<br />
| Line cut. || Ctrl + L<br />
|-<br />
<br />
|-<br />
| Line copy. || Ctrl + Shift + T<br />
|-<br />
<br />
|-<br />
| Line delete. || Ctrl + Shift + L<br />
|-<br />
<br />
|-<br />
| Line transpose with previous. || Ctrl + T<br />
|-<br />
<br />
|-<br />
| Line duplicate. || Ctrl + D<br />
|-<br />
<br />
|-<br />
| Find matching preprocessor conditional, skipping nested ones. || Ctrl + K<br />
|-<br />
<br />
|-<br />
| Select to matching preprocessor conditional. || Ctrl + Shift + K<br />
|-<br />
<br />
|-<br />
| Find matching preprocessor conditional backwards, skipping nested ones. || Ctrl + J<br />
|-<br />
<br />
|-<br />
| Select to matching preprocessor conditional backwards. || Ctrl + Shift + J<br />
|-<br />
<br />
|-<br />
| Previous paragraph. Shift extends selection. || Ctrl + [<br />
|-<br />
<br />
|-<br />
| Next paragraph. Shift extends selection. || Ctrl + ]<br />
|-<br />
<br />
|-<br />
| Previous word. Shift extends selection. || Ctrl + Left<br />
|-<br />
<br />
|-<br />
| Next word. Shift extends selection. || Ctrl + Right<br />
|-<br />
<br />
|-<br />
| Previous word part. Shift extends selection. || Ctrl + /<br />
|-<br />
<br />
|-<br />
| Next word part. Shift extends selection. || Ctrl + \<br />
|-<br />
<br />
|}<br />
<br />
<br />
== Files ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| New file or project || Ctrl + N<br />
|-<br />
<br />
|-<br />
| Open existing file or project || Ctrl + O<br />
|-<br />
<br />
|-<br />
| Save current file || Ctrl + S<br />
|-<br />
<br />
|-<br />
| Save all files || Ctrl + Shift + S<br />
|-<br />
<br />
|-<br />
| Close current file || Ctrl + F4 / Ctrl + W<br />
|-<br />
<br />
|-<br />
| Close all files || Ctrl + Shift + F4 / Ctrl + Shift + W<br />
|-<br />
<br />
|}<br />
<br />
<br />
This is a list of shortcuts provided by the Code::Blocks' tab component. These shortcuts cannot be rebound.<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| Activate next open file || Ctrl + Tab<br />
|-<br />
<br />
|-<br />
| Activate previous open file || Ctrl + Shift + Tab<br />
|-<br />
<br />
|}<br />
<br />
<br />
== View ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| Show / hide Messages pane || F2<br />
|-<br />
<br />
|-<br />
| Show / hide Management pane || Shift + F2<br />
|-<br />
<br />
|-<br />
| Move project up (in Project tree) || Ctrl + Shift + Up<br />
|-<br />
<br />
|-<br />
| Move project down (in Project tree) || Ctrl + Shift + Down<br />
|-<br />
<br />
|-<br />
| Activate prior (in Project tree) || Alt + F5<br />
|-<br />
<br />
|-<br />
| Activate next (in Project tree) || Alt + F6<br />
|-<br />
<br />
|-<br />
| Zoom in / out || Ctrl + Roll Mouse Wheel<br />
|-<br />
<br />
|-<br />
| Focus editor || CTRL + Alt + E<br />
|-<br />
<br />
|}<br />
<br />
<br />
== Search ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| Find || Ctrl + F<br />
|-<br />
<br />
|-<br />
| Find next || F3<br />
|-<br />
<br />
|-<br />
| Find previous || Shift + F3<br />
|-<br />
<br />
|-<br />
| Find in files || Crtl + Shift + F<br />
|-<br />
<br />
|-<br />
| Replace || Ctrl + R<br />
|-<br />
<br />
|-<br />
| Replace in files || Ctrl + Shift + R<br />
|-<br />
<br />
|-<br />
| Goto line || Ctrl + G<br />
|-<br />
<br />
|-<br />
| Goto file || Alt + G<br />
|-<br />
<br />
|-<br />
| Goto function || Ctrl + Alt + G<br />
|-<br />
<br />
|}<br />
<br />
<br />
== Build ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| Build || Ctrl + F9<br />
|-<br />
<br />
|-<br />
| Compile current file || Ctrl + Shift + F9<br />
|-<br />
<br />
|-<br />
| Run || Ctrl + F10<br />
|-<br />
<br />
|-<br />
| Build and Run || F9<br />
|-<br />
<br />
|-<br />
| Rebuild || Ctrl + F11<br />
|-<br />
<br />
|}<br />
<br />
<br />
== Debug ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
!Function <br />
!Shortcut Key<br />
|-<br />
<br />
|-<br />
| Debug || F8<br />
|-<br />
<br />
|-<br />
| Continue debugging || Ctrl + F7<br />
|-<br />
<br />
|-<br />
| Step over a code block || F7<br />
|-<br />
<br />
|-<br />
| Step into a code block || Shift + F7<br />
|-<br />
<br />
|-<br />
| Step out of a code block || Ctrl + Shift + F7<br />
|-<br />
<br />
|-<br />
| Toggle breakpoint || F5<br />
|-<br />
<br />
|-<br />
| Run to cursor || F4<br />
|-<br />
<br />
|-<br />
| Previous error || Alt + F1<br />
|-<br />
<br />
|-<br />
| Next error || Alt + F2<br />
|-<br />
<br />
|}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Unicode_Standards&diff=3867Unicode Standards2006-09-30T16:27:58Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Developer Documentation]]<br />
This page is meant to be a location for developers to find all the current Unicode standards, or good practices, when developing the Code::Blocks IDE. <br />
<br />
== Macros ==<br />
<br />
=== Constants ===<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
! Macro <br />
! Description<br />
|-<br />
<br />
|-<br />
| '''__TFILE__'''<br />
| wxWidgets provide equivilant to __FILE__<br />
|-<br />
<br />
|-<br />
| '''__TDATE__'''<br />
| wxWidgets provide equivilant to __DATE__<br />
|-<br />
<br />
|-<br />
| '''__TTIME__'''<br />
| wxWidgets provide equivilant to __TIME__<br />
|-<br />
<br />
|}<br />
<br />
=== _U() ===<br />
<br />
Use it to convert non-literal char* strings to wxString. Use it for reading attributes from TiXmlNode's. If you deal with functions that return strings, you must use our _U macro.<br />
<br />
Code:<br />
<br />
#ifdef wxUSE_UNICODE<br />
#define _U(x) wxString((x),wxConvUTF8)<br />
#define _UU(x,y) wxString((x),y)<br />
#else<br />
#define _U(x) (x)<br />
#define _UU(x,y) (x)<br />
#endif<br />
<br />
i.e.:<br />
Code:<br />
<br />
const char* incompatible = "This is an incompatible string";<br />
wxString compatible = _U(incompatible);<br />
<br />
// wxString conftype = conf->Attribute("ConfigurationType"); // before<br />
wxString conftype = _U(conf->Attribute("ConfigurationType")); // after<br />
<br />
=== _C() ===<br />
<br />
multibyte C string see wxhelp (wxMBConv classes overview)<br />
Use this one for interacting with APIs needing char const*s, such as saving things to TinyXML.<br />
<br />
Is defined in code as: <br />
<br />
#if wxUSE_UNICODE<br />
#define _UU(x,y) wxString((x),(y))<br />
#define _CC(x,y) (x).mb_str((y))<br />
#else<br />
#define _UU(x,y) (x)<br />
#define _CC(x,y) (x)<br />
#endif<br />
<br />
#define _U(x) _UU((x),wxConvUTF8)<br />
#define _C(x) _CC((x),wxConvUTF8)<br />
<br />
=== _T()/wxT() ===<br />
<br />
_T()/wxT() are used for fixed text - like XRC resources object names (only adds an L before the string if you're using Unicode build).<br />
<br />
_T()/wxT() are macros which can be used with character and string literals (in other words, 'x' or "foo") to automatically convert them to Unicode in Unicode build configuration. Please see the Unicode overview for more information.<br />
<br />
These macros simply returns the value passed to it without changes in ASCII build. In fact, the wxT() definition is:<br />
<br />
#ifdef UNICODE<br />
#define wxT(x) L ## x<br />
#else // !Unicode<br />
#define wxT(x) x<br />
#endif<br />
<br />
_T() is exactly the same as wxT() and is defined in wxWidgets simply because it may be more intuitive for Windows programmers as the standard Win32 headers also define it (as well as yet another name for the same macro which is _TEXT()).<br />
<br />
Don't confuse this macro with _()!<br />
<br />
wxChar _T(char ch)<br />
<br />
const wxChar * _T(const wxChar ch)<br />
<br />
=== _() ===<br />
<br />
_() is used for text which might be translated to other user-languages.<br />
<br />
This macro expands into a call to wxGetTranslation function, so it marks the message for the extraction by xgettext just as wxTRANSLATE does, but also returns the translation of the string for the current locale during execution.<br />
<br />
Don't confuse this macro with _T()!<br />
<br />
'''wxPLURAL''' = This macro is identical to _() but for the plural variant of wxGetTranslation.<br />
<br />
const wxChar * wxPLURAL(const char *sing, const char *plur, size_tn)<br />
<br />
== Guidelines ==<br />
'''char & wxChar:'''<br />
Do not use wxChar when is not a text character, because a wxChar in unicode is an int of 16 bits (not 8 bits):<br />
<br />
Example for text:<br />
<br />
wxChar im_a_character = _T('f');<br />
<br />
Example for not text (not character):<br />
<br />
char im_a_byte = 254;<br />
<br />
but perhaps better would be to use:<br />
<br />
byte im_a_byte = 254;<br />
<br />
so it's clear that it's a byte and not a character.<br />
<br />
<br />
<br />
'''Other:'''<br />
<br />
Problem code:<br />
<br />
// indent code accordingly<br />
wxString code = it->second;<br />
code.Replace("\n", '\n' + lineIndent);<br />
<br />
Solution:<br />
<nowiki> If the input is a const char*, use "normal strings". If the input is a wxChar or wxString, use the _T("macros"). For example:</nowiki><br />
<br />
// indent code accordingly<br />
wxString code = it->second;<br />
code.Replace(_T("\n"), _T('\n') + lineIndent);<br />
<br />
Some of the strings already converted in C::B, use _( when they should be _T(.<br />
<br />
Example:<br />
<br />
WRONG: wxXmlResource::Get()->LoadDialog(this, parent, _("dlgGenericMultiSelect"));<br />
<br />
dlgGenericMultiSelect is a reference to a resource. Therefore it must use _T instead.<br />
<br />
RIGHT: wxXmlResource::Get()->LoadDialog(this, parent, _T("dlgGenericMultiSelect"));<br />
<br />
And don't forget to test for single characters, too!<br />
<br />
All operations with wxStrings (not char*'s) should have _("string") for strings to be displayed to the user, and _T("string") for strings used internally.<br />
<br />
Printf-like functions is - use c_str() (in examples in wxwidgets.org there are used different arguments for unicode and non-unicode versions where formating string was both "%s"). For example:<br />
<br />
tmpkey.Printf(_T("%s/editor/keywords/%d"), key.c_str(), i);<br />
<br />
=== XRCID and XRCCTRL macros ===<br />
<br />
XRCID and XRCCTRL macros must '''not''' be converted! They're pre-converted already!<br />
<br />
WRONG: XRCCTRL(*this, _T("lblLabel"), wxStaticText)->SetLabel(label);<br />
<br />
RIGHT: XRCCTRL(*this, "lblLabel", wxStaticText)->SetLabel(label);<br />
<br />
=== Concatenated strings ===<br />
<br />
_() is macro which calls one of wxWidget's internal function so concatenating should look like this:<br />
<br />
_("string 1" "string2" ... )<br />
<br />
_T() macro simply adds 'L' before string given as a param (in Unicode of course, in normal mode it do nothing with the string) so concatenation should be:<br />
<br />
_T("string1") _T("string2") ...<br />
<br />
== Gotchas ==<br />
<br />
=== _C() can return a proxy ===<br />
<br />
Don't write code like:<br />
<br />
char const * psz = _C( str ); // formerly str.mb_str(wxConvUTF8);<br />
<br />
_C(), in unicode mode, returns a buffer, not a raw pointer. This is a good thing because the buffer's destructor takes care of freeing the memory used by the string. This buffer is implicitly convertible to a char const* so that it can be used in things like strlen( str.mb_str() ) immediatly, but that opens up the error I'm warning about in this post.<br />
<br />
What actually happens in the above code? wxString::mb_str() returns a buffer object. Said buffer's implicit conversion to char const* is activated, and the result is stored in psz. The temporary buffer then GOES OUT OF SCOPE and ITS DESTRUCTOR DELETES THE MEMORY. It seems that windows doesn't care, but that linux often has already reused the memory by the time psz is used again in the code.<br />
<br />
Solution:<br />
<br />
wxWX2MBbuf psz = str.mb_str(wxConvUTF8);<br />
<br />
wxWX2MBbuf takes ownership of the buffer ( no, it's not copied -- it's transfer of ownership semantics similar to std::auto_ptr ). That way you can actually use the memory until psz goes out of scope and deletes it.<br />
<br />
=== Printf uses wxChars ===<br />
<br />
When using wxString::Printf, %s wants wxChar const*, so just use .c_str(). This is important to watch out for because Printf uses varargs, which aren't typesafe, so the copmiler doesn't catch the error. If, for example, Mandrav uses .mb_str(), the compiler wont say anything because mb_str() is the same as c_str() in non-unicode mode, returning a char const*. However, when me22 runs it in Unicode mode, mb_str() returns a proxy ( see above ), which can't be passed through a vararg and the program crashes at runtime.<br />
<br />
=== Streaming a plain char fails silently ===<br />
<br />
This one was the source of the mysterious bug that replaced all the )'s in the class browser with 41's :P<br />
<br />
Problem:<br />
<br />
In unicode, the following compiles fine and doesn't crash:<br />
<br />
my_stream << '\n';<br />
<br />
However, my_stream traffics in wxChars, and '\n' is a plain char. This means that integer promotion is applied to '\n', so the effect is as if the code were:<br />
<br />
my_stream << static_cast<int>('\n');<br />
<br />
Which shows a number, instead of the character.<br />
<br />
Solution:<br />
<br />
Don't forget the _T()s!<br />
<br />
Alternatively, use "\n" instead, which the compiler doesn't silently convert, so an easy-to-stop&fix compile error will occur.<br />
<br />
== See also ==<br />
* [http://www.wxwidgets.org/manuals/2.6.3/wx_unicode.html#unicode wxWidgets Unicode reference]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Unicode_Standards&diff=3866Unicode Standards2006-09-30T16:26:56Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Developer Documentation]]<br />
This page is meant to be a location for developers to find all the current Unicode standards, or good practices, when developing the Code::Blocks IDE. <br />
<br />
== Macros ==<br />
<br />
=== Constants ===<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
! Macro <br />
! Description<br />
|-<br />
<br />
|-<br />
| '''__TFILE__'''<br />
| wxWidgets provide equivilant to __FILE__<br />
|-<br />
<br />
|-<br />
| '''__TDATE__'''<br />
| wxWidgets provide equivilant to __DATE__<br />
|-<br />
<br />
|-<br />
| '''__TTIME__'''<br />
| wxWidgets provide equivilant to __TIME__<br />
|-<br />
<br />
|}<br />
<br />
=== _U() ===<br />
<br />
Use it to convert non-literal char* strings to wxString. Use it for reading attributes from TiXmlNode's. If you deal with functions that return strings, you must use our _U macro.<br />
<br />
Code:<br />
<br />
#ifdef wxUSE_UNICODE<br />
#define _U(x) wxString((x),wxConvUTF8)<br />
#define _UU(x,y) wxString((x),y)<br />
#else<br />
#define _U(x) (x)<br />
#define _UU(x,y) (x)<br />
#endif<br />
<br />
i.e.:<br />
Code:<br />
<br />
const char* incompatible = "This is an incompatible string";<br />
wxString compatible = _U(incompatible);<br />
<br />
// wxString conftype = conf->Attribute("ConfigurationType"); // before<br />
wxString conftype = _U(conf->Attribute("ConfigurationType")); // after<br />
<br />
=== _C() ===<br />
<br />
multibyte C string see wxhelp (wxMBConv classes overview)<br />
Use this one for interacting with APIs needing char const*s, such as saving things to TinyXML.<br />
<br />
Is defined in code as: <br />
<br />
#if wxUSE_UNICODE<br />
#define _UU(x,y) wxString((x),(y))<br />
#define _CC(x,y) (x).mb_str((y))<br />
#else<br />
#define _UU(x,y) (x)<br />
#define _CC(x,y) (x)<br />
#endif<br />
<br />
#define _U(x) _UU((x),wxConvUTF8)<br />
#define _C(x) _CC((x),wxConvUTF8)<br />
<br />
=== _T()/wxT() ===<br />
<br />
_T()/wxT() are used for fixed text - like XRC resources object names (only adds an L before the string if you're using Unicode build).<br />
<br />
_T()/wxT() are macros which can be used with character and string literals (in other words, 'x' or "foo") to automatically convert them to Unicode in Unicode build configuration. Please see the Unicode overview for more information.<br />
<br />
These macros simply returns the value passed to it without changes in ASCII build. In fact, its definition is:<br />
<br />
#ifdef UNICODE<br />
#define wxT(x) L ## x<br />
#else // !Unicode<br />
#define wxT(x) x<br />
#endif<br />
<br />
_T() is exactly the same as wxT() and is defined in wxWidgets simply because it may be more intuitive for Windows programmers as the standard Win32 headers also define it (as well as yet another name for the same macro which is _TEXT()).<br />
<br />
Don't confuse this macro with _()!<br />
<br />
wxChar _T(char ch)<br />
<br />
const wxChar * _T(const wxChar ch)<br />
<br />
=== _() ===<br />
<br />
_() is used for text which might be translated to other user-languages.<br />
<br />
This macro expands into a call to wxGetTranslation function, so it marks the message for the extraction by xgettext just as wxTRANSLATE does, but also returns the translation of the string for the current locale during execution.<br />
<br />
Don't confuse this macro with _T()!<br />
<br />
'''wxPLURAL''' = This macro is identical to _() but for the plural variant of wxGetTranslation.<br />
<br />
const wxChar * wxPLURAL(const char *sing, const char *plur, size_tn)<br />
<br />
== Guidelines ==<br />
'''char & wxChar:'''<br />
Do not use wxChar when is not a text character, because a wxChar in unicode is an int of 16 bits (not 8 bits):<br />
<br />
Example for text:<br />
<br />
wxChar im_a_character = _T('f');<br />
<br />
Example for not text (not character):<br />
<br />
char im_a_byte = 254;<br />
<br />
but perhaps better would be to use:<br />
<br />
byte im_a_byte = 254;<br />
<br />
so it's clear that it's a byte and not a character.<br />
<br />
<br />
<br />
'''Other:'''<br />
<br />
Problem code:<br />
<br />
// indent code accordingly<br />
wxString code = it->second;<br />
code.Replace("\n", '\n' + lineIndent);<br />
<br />
Solution:<br />
<nowiki> If the input is a const char*, use "normal strings". If the input is a wxChar or wxString, use the _T("macros"). For example:</nowiki><br />
<br />
// indent code accordingly<br />
wxString code = it->second;<br />
code.Replace(_T("\n"), _T('\n') + lineIndent);<br />
<br />
Some of the strings already converted in C::B, use _( when they should be _T(.<br />
<br />
Example:<br />
<br />
WRONG: wxXmlResource::Get()->LoadDialog(this, parent, _("dlgGenericMultiSelect"));<br />
<br />
dlgGenericMultiSelect is a reference to a resource. Therefore it must use _T instead.<br />
<br />
RIGHT: wxXmlResource::Get()->LoadDialog(this, parent, _T("dlgGenericMultiSelect"));<br />
<br />
And don't forget to test for single characters, too!<br />
<br />
All operations with wxStrings (not char*'s) should have _("string") for strings to be displayed to the user, and _T("string") for strings used internally.<br />
<br />
Printf-like functions is - use c_str() (in examples in wxwidgets.org there are used different arguments for unicode and non-unicode versions where formating string was both "%s"). For example:<br />
<br />
tmpkey.Printf(_T("%s/editor/keywords/%d"), key.c_str(), i);<br />
<br />
=== XRCID and XRCCTRL macros ===<br />
<br />
XRCID and XRCCTRL macros must '''not''' be converted! They're pre-converted already!<br />
<br />
WRONG: XRCCTRL(*this, _T("lblLabel"), wxStaticText)->SetLabel(label);<br />
<br />
RIGHT: XRCCTRL(*this, "lblLabel", wxStaticText)->SetLabel(label);<br />
<br />
=== Concatenated strings ===<br />
<br />
_() is macro which calls one of wxWidget's internal function so concatenating should look like this:<br />
<br />
_("string 1" "string2" ... )<br />
<br />
_T() macro simply adds 'L' before string given as a param (in Unicode of course, in normal mode it do nothing with the string) so concatenation should be:<br />
<br />
_T("string1") _T("string2") ...<br />
<br />
== Gotchas ==<br />
<br />
=== _C() can return a proxy ===<br />
<br />
Don't write code like:<br />
<br />
char const * psz = _C( str ); // formerly str.mb_str(wxConvUTF8);<br />
<br />
_C(), in unicode mode, returns a buffer, not a raw pointer. This is a good thing because the buffer's destructor takes care of freeing the memory used by the string. This buffer is implicitly convertible to a char const* so that it can be used in things like strlen( str.mb_str() ) immediatly, but that opens up the error I'm warning about in this post.<br />
<br />
What actually happens in the above code? wxString::mb_str() returns a buffer object. Said buffer's implicit conversion to char const* is activated, and the result is stored in psz. The temporary buffer then GOES OUT OF SCOPE and ITS DESTRUCTOR DELETES THE MEMORY. It seems that windows doesn't care, but that linux often has already reused the memory by the time psz is used again in the code.<br />
<br />
Solution:<br />
<br />
wxWX2MBbuf psz = str.mb_str(wxConvUTF8);<br />
<br />
wxWX2MBbuf takes ownership of the buffer ( no, it's not copied -- it's transfer of ownership semantics similar to std::auto_ptr ). That way you can actually use the memory until psz goes out of scope and deletes it.<br />
<br />
=== Printf uses wxChars ===<br />
<br />
When using wxString::Printf, %s wants wxChar const*, so just use .c_str(). This is important to watch out for because Printf uses varargs, which aren't typesafe, so the copmiler doesn't catch the error. If, for example, Mandrav uses .mb_str(), the compiler wont say anything because mb_str() is the same as c_str() in non-unicode mode, returning a char const*. However, when me22 runs it in Unicode mode, mb_str() returns a proxy ( see above ), which can't be passed through a vararg and the program crashes at runtime.<br />
<br />
=== Streaming a plain char fails silently ===<br />
<br />
This one was the source of the mysterious bug that replaced all the )'s in the class browser with 41's :P<br />
<br />
Problem:<br />
<br />
In unicode, the following compiles fine and doesn't crash:<br />
<br />
my_stream << '\n';<br />
<br />
However, my_stream traffics in wxChars, and '\n' is a plain char. This means that integer promotion is applied to '\n', so the effect is as if the code were:<br />
<br />
my_stream << static_cast<int>('\n');<br />
<br />
Which shows a number, instead of the character.<br />
<br />
Solution:<br />
<br />
Don't forget the _T()s!<br />
<br />
Alternatively, use "\n" instead, which the compiler doesn't silently convert, so an easy-to-stop&fix compile error will occur.<br />
<br />
== See also ==<br />
* [http://www.wxwidgets.org/manuals/2.6.3/wx_unicode.html#unicode wxWidgets Unicode reference]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Unicode_Standards&diff=3865Unicode Standards2006-09-30T16:21:02Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Developer Documentation]]<br />
This page is meant to be a location for developers to find all the current Unicode standards, or good practices, when developing the Code::Blocks IDE. <br />
<br />
== Macros ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
! Macro <br />
! Description<br />
|-<br />
<br />
|-<br />
| '''__TFILE__'''<br />
| wxWidgets provide equivilant to __FILE__<br />
|-<br />
<br />
|-<br />
| '''__TDATE__'''<br />
| wxWidgets provide equivilant to __DATE__<br />
|-<br />
<br />
|-<br />
| '''__TTIME__'''<br />
| wxWidgets provide equivilant to __TIME__<br />
|-<br />
<br />
|}<br />
<br />
=== _U() ===<br />
<br />
Use it to convert non-literal char* strings to wxString. Use it for reading attributes from TiXmlNode's. If you deal with functions that return strings, you must use our _U macro.<br />
<br />
Code:<br />
<br />
#ifdef wxUSE_UNICODE<br />
#define _U(x) wxString((x),wxConvUTF8)<br />
#define _UU(x,y) wxString((x),y)<br />
#else<br />
#define _U(x) (x)<br />
#define _UU(x,y) (x)<br />
#endif<br />
<br />
i.e.:<br />
Code:<br />
<br />
const char* incompatible = "This is an incompatible string";<br />
wxString compatible = _U(incompatible);<br />
<br />
// wxString conftype = conf->Attribute("ConfigurationType"); // before<br />
wxString conftype = _U(conf->Attribute("ConfigurationType")); // after<br />
<br />
=== _C() ===<br />
<br />
multibyte C string see wxhelp (wxMBConv classes overview)<br />
Use this one for interacting with APIs needing char const*s, such as saving things to TinyXML.<br />
<br />
Is defined in code as: <br />
<br />
#if wxUSE_UNICODE<br />
#define _UU(x,y) wxString((x),(y))<br />
#define _CC(x,y) (x).mb_str((y))<br />
#else<br />
#define _UU(x,y) (x)<br />
#define _CC(x,y) (x)<br />
#endif<br />
<br />
#define _U(x) _UU((x),wxConvUTF8)<br />
#define _C(x) _CC((x),wxConvUTF8)<br />
<br />
=== wxT() ===<br />
<br />
wxT() is used for fixed text's - like XRC resources object names (only adds an L before the string if you're using Unicode build).<br />
<br />
wxT() is a macro which can be used with character and string literals (in other words, 'x' or "foo") to automatically convert them to Unicode in Unicode build configuration. Please see the Unicode overview for more information.<br />
<br />
This macro is simply returns the value passed to it without changes in ASCII build. In fact, its definition is:<br />
<br />
#ifdef UNICODE<br />
#define wxT(x) L ## x<br />
#else // !Unicode<br />
#define wxT(x) x<br />
#endif<br />
<br />
=== _T() ===<br />
<br />
_T() is used for fixed text's - like XRC resources object names (only adds an L before the string if you're using Unicode build).<br />
<br />
This macro is exactly the same as wxT and is defined in wxWidgets simply because it may be more intuitive for Windows programmers as the standard Win32 headers also define it (as well as yet another name for the same macro which is _TEXT()).<br />
<br />
Don't confuse this macro with _()!<br />
<br />
wxChar _T(char ch)<br />
<br />
const wxChar * _T(const wxChar ch)<br />
<br />
=== _() ===<br />
<br />
_() is used for text's which might be translated to other user-languages.<br />
<br />
This macro expands into a call to wxGetTranslation function, so it marks the message for the extraction by xgettext just as wxTRANSLATE does, but also returns the translation of the string for the current locale during execution.<br />
<br />
Don't confuse this macro with _T()!<br />
<br />
'''wxPLURAL''' = This macro is identical to _() but for the plural variant of wxGetTranslation.<br />
<br />
const wxChar * wxPLURAL(const char *sing, const char *plur, size_tn)<br />
<br />
== Guidelines ==<br />
'''char & wxChar:'''<br />
Do not use wxChar when is not a text character, because a wxChar in unicode is an int of 16 bits (not 8 bits):<br />
<br />
Example for text:<br />
<br />
wxChar im_a_character = _T('f');<br />
<br />
Example for not text (not character):<br />
<br />
char im_a_byte = 254;<br />
<br />
but perhaps better would be to use:<br />
<br />
byte im_a_byte = 254;<br />
<br />
so it's clear that it's a byte and not a character.<br />
<br />
<br />
<br />
'''Other:'''<br />
<br />
Problem code:<br />
<br />
// indent code accordingly<br />
wxString code = it->second;<br />
code.Replace("\n", '\n' + lineIndent);<br />
<br />
Solution:<br />
<nowiki> If the input is a const char*, use "normal strings". If the input is a wxChar or wxString, use the _T("macros"). For example:</nowiki><br />
<br />
// indent code accordingly<br />
wxString code = it->second;<br />
code.Replace(_T("\n"), _T('\n') + lineIndent);<br />
<br />
Some of the strings already converted in C::B, use _( when they should be _T(.<br />
<br />
Example:<br />
<br />
WRONG: wxXmlResource::Get()->LoadDialog(this, parent, _("dlgGenericMultiSelect"));<br />
<br />
dlgGenericMultiSelect is a reference to a resource. Therefore it must use _T instead.<br />
<br />
RIGHT: wxXmlResource::Get()->LoadDialog(this, parent, _T("dlgGenericMultiSelect"));<br />
<br />
And don't forget to test for single characters, too!<br />
<br />
All operations with wxStrings (not char*'s) should have _("string") for strings to be displayed to the user, and _T("string") for strings used internally.<br />
<br />
Printf-like functions is - use c_str() (in examples in wxwidgets.org there are used different arguments for unicode and non-unicode versions where formating string was both "%s"). For example:<br />
<br />
tmpkey.Printf(_T("%s/editor/keywords/%d"), key.c_str(), i);<br />
<br />
=== XRCID and XRCCTRL macros ===<br />
<br />
XRCID and XRCCTRL macros must '''not''' be converted! They're pre-converted already!<br />
<br />
WRONG: XRCCTRL(*this, _T("lblLabel"), wxStaticText)->SetLabel(label);<br />
<br />
RIGHT: XRCCTRL(*this, "lblLabel", wxStaticText)->SetLabel(label);<br />
<br />
=== Concatenated strings ===<br />
<br />
_() is macro which calls one of wxWidget's internal function so concatenating should look like this:<br />
<br />
_("string 1" "string2" ... )<br />
<br />
_T() macro simply adds 'L' before string given as a param (in Unicode of course, in normal mode it do nothing with the string) so concatenation should be:<br />
<br />
_T("string1") _T("string2") ...<br />
<br />
== Gotchas ==<br />
<br />
=== _C() can return a proxy ===<br />
<br />
Don't write code like:<br />
<br />
char const * psz = _C( str ); // formerly str.mb_str(wxConvUTF8);<br />
<br />
_C(), in unicode mode, returns a buffer, not a raw pointer. This is a good thing because the buffer's destructor takes care of freeing the memory used by the string. This buffer is implicitly convertible to a char const* so that it can be used in things like strlen( str.mb_str() ) immediatly, but that opens up the error I'm warning about in this post.<br />
<br />
What actually happens in the above code? wxString::mb_str() returns a buffer object. Said buffer's implicit conversion to char const* is activated, and the result is stored in psz. The temporary buffer then GOES OUT OF SCOPE and ITS DESTRUCTOR DELETES THE MEMORY. It seems that windows doesn't care, but that linux often has already reused the memory by the time psz is used again in the code.<br />
<br />
Solution:<br />
<br />
wxWX2MBbuf psz = str.mb_str(wxConvUTF8);<br />
<br />
wxWX2MBbuf takes ownership of the buffer ( no, it's not copied -- it's transfer of ownership semantics similar to std::auto_ptr ). That way you can actually use the memory until psz goes out of scope and deletes it.<br />
<br />
=== Printf uses wxChars ===<br />
<br />
When using wxString::Printf, %s wants wxChar const*, so just use .c_str(). This is important to watch out for because Printf uses varargs, which aren't typesafe, so the copmiler doesn't catch the error. If, for example, Mandrav uses .mb_str(), the compiler wont say anything because mb_str() is the same as c_str() in non-unicode mode, returning a char const*. However, when me22 runs it in Unicode mode, mb_str() returns a proxy ( see above ), which can't be passed through a vararg and the program crashes at runtime.<br />
<br />
=== Streaming a plain char fails silently ===<br />
<br />
This one was the source of the mysterious bug that replaced all the )'s in the class browser with 41's :P<br />
<br />
Problem:<br />
<br />
In unicode, the following compiles fine and doesn't crash:<br />
<br />
my_stream << '\n';<br />
<br />
However, my_stream traffics in wxChars, and '\n' is a plain char. This means that integer promotion is applied to '\n', so the effect is as if the code were:<br />
<br />
my_stream << static_cast<int>('\n');<br />
<br />
Which shows a number, instead of the character.<br />
<br />
Solution:<br />
<br />
Don't forget the _T()s!<br />
<br />
Alternatively, use "\n" instead, which the compiler doesn't silently convert, so an easy-to-stop&fix compile error will occur.<br />
<br />
== See also ==<br />
* [http://www.wxwidgets.org/manuals/2.6.3/wx_unicode.html#unicode wxWidgets Unicode reference]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Scripting_Code::Blocks&diff=3863Scripting Code::Blocks2006-09-30T16:15:38Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Documentation]]<br />
[[Category:Scripting Code::Blocks]]<br />
Code::Blocks supports '''scripting''' to extend various parts of its functionality during runtime. The scripting language used is [http://www.squirrel-lang.org Squirrel].<br />
<br />
Currently, Code::Blocks uses scripts for:<br />
<br />
'''[[Startup script|Startup]]'''<br />
: Run arbitrary commands on application startup.<br />
<br />
'''[[Wizard scripts|Wizards]]'''<br />
: Register new wizards for generating projects, build targets, files or anything else. All wizards shipped with Code::Blocks are scripted.<br />
<br />
'''[[Debugger scripts|Debugger]]'''<br />
: Extend the GNU Debugger (and others) to support arbitrary data types. Code::Blocks ships with scripts that add wxString, std::string and std::vector "knowledge" to the GNU Debugger.<br />
<br />
'''[[Build scripts|Build]]'''<br />
: Extend the build system. Scripts can be attached to projects and/or build targets and are executed before and/or after each of these is built.<br />
<br />
More Code::Blocks parts may be exposed to scripting in the future.<br />
<br />
== See also ==<br />
* [[Scripting commands]]<br />
<br />
== External links ==<br />
* [http://www.squirrel-lang.org/#doc Squirrel documentation]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Developer_documentation&diff=3752Developer documentation2006-08-31T17:02:46Z<p>Sethjackson: </p>
<hr />
<div>[[Category:Code::Blocks Documentation]]<br />
[[Category:Developer Documentation]]<br />
Articles for Code::Blocks developers.<br />
<br />
* '''[http://launchpad.net/products/codeblocks/ Translation]'''<br />
:Code::Blocks uses Launchpad to coordinate translation efforts.<br />
<br />
* '''[[Coding style]]'''<br />
:The source code formatting style used in the Code::Blocks' source.<br />
<br />
* '''[[Creating a custom lexer for Code::Blocks editor]]'''<br />
:How to add support for new syntax lighting schemes.<br />
<br />
* '''[[Creating a patch to submit to BerliOS (Patch Tracker)]]'''<br />
:Creating a diff file and then submitting it to the patch tracker.<br />
<br />
* '''[[Unicode Standards]]'''<br />
:Information about unicode standards and how unicode is handled in Code::Blocks' source code.<br />
<br />
* '''[[Various development tips]]'''<br />
:List of various development tips for Code::Blocks.<br />
<br />
== Plugin development ==<br />
<br />
* [[Creating a simple "Hello World" plugin]]<br />
* [[Creating a Plug-in which modifies CB's Menus]]<br />
<br />
* [[Research on doing a Plug-in for embedded help in CB]]<br />
<br />
== Scripting ==<br />
<br />
Using scripting to extend Code::Blocks' functionality<br />
<br />
* [[Wizard scripts|Creating a new project wizard]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Talk:Coding_style_to_use&diff=3751Talk:Coding style to use2006-08-31T17:02:14Z<p>Sethjackson: Talk:Coding style to use moved to Talk:Coding style</p>
<hr />
<div>#REDIRECT [[Talk:Coding style]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Talk:Coding_style&diff=3750Talk:Coding style2006-08-31T17:02:14Z<p>Sethjackson: Talk:Coding style to use moved to Talk:Coding style</p>
<hr />
<div>How about comments?<br />
<br />
Well I'm not an developer. It is pretty safe to say use "//" (C++ style) comments, and not the C style ones.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Coding_style_to_use&diff=3749Coding style to use2006-08-31T17:02:14Z<p>Sethjackson: Coding style to use moved to Coding style</p>
<hr />
<div>#REDIRECT [[Coding style]]</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Coding_style&diff=3748Coding style2006-08-31T17:02:14Z<p>Sethjackson: Coding style to use moved to Coding style</p>
<hr />
<div>[[Category:Developer Documentation]]<br />
The following are guidelines for the code formatting to use in Code::Blocks source code. Anyone writing code or a patch for Code::Blocks, is required to follow these.<br />
<br />
== Coding style ==<br />
<br />
The general coding style is the ANSI one:<br />
<br />
Example:<br />
<pre><br />
namespace FooSpace<br />
{<br />
int Foo()<br />
{<br />
if (isBar)<br />
{<br />
Bar();<br />
return 1;<br />
}<br />
else<br />
return 0;<br />
}<br />
}<br />
</pre><br />
<br />
<br />
== Variables naming ==<br />
<br />
Class names do not start with 'C' (as in CObject, CWindow, etc). Only abstract base classes (interfaces) should start with 'I'.<br />
But they all have to start with a capital letter.<br />
<br />
Class member variables should start with <tt>m_</tt>. If the variable is a pointer, use <tt>m_p</tt> as a prefix.<br />
Following the prefix is the variable's name. Use descriptive names and use capital letters at the start of each word (the first too). So a fictious variable holding a value for position would be named as <tt>m_ValueForPosition</tt>.<br />
<br />
Non-class member variables should not start with a capital letter.<br />
<br />
Function names should always start with a capital letter.<br />
<br />
Examples:<br />
<pre>// Good<br />
int aLocalVar;<br />
int m_SomeInt;<br />
void* m_pSomePointer;<br />
bool SomeFunc();<br />
<br />
// Bad<br />
int SomeInt; // either no m_ prefix if it's a class variable, or capital first letter if it's a local variable<br />
int m_someInt; // no capital letter 'S'<br />
void* m_SomePointer; // no m_p prefix<br />
bool someFunc(); // function with non-capital first letter<br />
</pre><br />
<br />
<br />
== Variables declaration ==<br />
<br />
One variable declared each time on a different line.<br />
For pointer/reference variables, the '*' or '&' is part of the type.<br />
<br />
Examples:<br />
<pre>// Good<br />
int& someInt;<br />
void* pPtr;<br />
<br />
// Bad<br />
int &someInt; // & not after type<br />
void* pPtr, pSomeOther; // multiple declarations in one line<br />
</pre><br />
<br />
== Spacing ==<br />
<br />
Prefer spaces over tabs. If you want to use tabs you won't be prosecuted (!) but please use a tab size of 4 spaces.<br><br />
Code indentation should be 4 spaces.<br><br />
In class declarations, the keywords <tt>public:</tt>, <tt>protected:</tt>, and <tt>private:</tt> should be indented. The same goes for all the class members.<br />
<br />
Examples:<br />
<pre><br />
// Good<br />
class AClass<br />
{<br />
public:<br />
AClass(){ ... }<br />
protected:<br />
int m_Member;<br />
};<br />
<br />
// Bad<br />
class AClass<br />
{<br />
public:<br />
AClass(){ ... }<br />
protected:<br />
int m_Member;<br />
};<br />
</pre><br />
<br />
== Commenting ==<br />
<br />
All three types of comments are used in Code::Blocks. C++ style ('//'), C style ('/* */'), and the Doxygen style ('/** */').<br />
<br />
The C++ style is used for just about everything. Use this style to describe what your code does.<br />
<br />
The C style is used only for very long comments (paragraphs), or for a license or description at the top of a C++ file.<br />
<br />
The Doxygen style is used for documenting functions only. These functions would be public, and protected class functions, and global helper functions.<br />
<br />
Comments should clearly describe what the code does. Comments should be concise, but coherent.</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Roadmap_for_version_1.0&diff=3747Roadmap for version 1.02006-08-31T17:00:04Z<p>Sethjackson: /* Version 1.0 RC 3 (Ephialtes) */</p>
<hr />
<div>[[Category:Code::Blocks Documentation]]<br />
==Version 1.0 (Pheidippides)==<br />
''August 2006''<br />
<br />
==Version 1.0 RC final (Athenades)==<br />
''Mid-July 2006''<br />
*No feature additions.<br />
*Regression and bug handling only.<br />
<br />
==Version 1.0 RC 3 (Ephialtes)==<br />
''Around end of June 2006''<br />
*[[Image:Chk.png]]Unicode support<br />
**[[Image:Chk.png]]User interface<br />
**[[Image:Chk.png]]Configuration system<br />
**[[Image:Chk.png]]Editor component<br />
**[[Image:Nop.png]]Fully automatic detection of document encoding<br />
*[[Image:Blk.png]]<s>Scripting support (Angelscript)</s> <i>(abandoned due to lack of 64bit support)</i><br />
*[[Image:Chk.png]]Scripting support (Squirrel/Sq plus)<br />
**[[Image:Chk.png]]Watch scripts (see [[Debugger scripts]])<br />
**[[Image:Chk.png]]Build target scripts<br />
*[[Image:Chk.png]]Virtual folder support<br />
*[[Image:Chk.png]]Global user variables<br />
**[[Image:Chk.png]]Profile-dependent GUVs<br />
**[[Image:Chk.png]]Multiple variable sets<br />
**[[Image:Chk.png]]Custom variable definition<br />
*[[Image:Chk.png]]wxFlatNoteBook editors<br />
*[[Image:Chk.png]]wxAUI docking library<br />
*[[Image:Chk.png]]Context-sensitive layout switching<br />
*[[Image:Chk.png]]XML-based configuration system<br />
*[[Image:Blk.png]]XML-based compiler framework<br />
*[[Image:Blk.png]]Property-based build system<br />
*[[Image:Chk.png]]Improved configuration user interface<br />
*[[Image:Blk.png]]Automatic updates<br />
*[[Image:Blk.png]]Usability and stability fixes for code completion plugin <br />
*[[Image:Blk.png]]Regression and bug handling.<br />
<br />
==Version 1.0 RC 2 (Leonidas)==<br />
''25 October 2005''<br />
*Precompiled headers (PCH) support! (currently works only with GCC) <br />
*The source is now fully UNICODE-compatible! <br />
*The source is also fully 64-bit compatible! <br />
*Autoconf/automake build system is now used for non-windows platforms<br />
* New editor functionality<br />
**Find declaration<br />
**Open #include<br />
*Project wizard plugins<br />
*Support for SDCC<br />
*Better handling of modified files outside the IDE<br />
*Single file compilation<br />
*Find-in-Files for arbitrary paths/filemasks<br />
*All internal file formats are well-formed, valid XML<br />
*New plugins:<br />
**Code statistics: counts nr. of source lines, nr. of comment lines, etc. <br />
**CBProfiler: parses and displays the output of GProf, the GNU Profiler<br />
**SourceExporter: exports the active file to HTML/RTF/ODT<br />
*New lexers: <br />
**Fortran77 <br />
**NVidia CG<br />
**X-Base languages (Clipper, Foxpro) <br />
*New and improved project templates: <br />
**SDCC program <br />
**Irrlicht 3D Graphics Engine <br />
**Ogre 3D Graphics Engine <br />
**GLFW project (OpenGL FrameWork) <br />
**wxWidgets: static/dynamic unicode/ansi versions. <br />
<br />
<br />
==Version 1.0 RC 1-1 (Oedipus)==<br />
''2 August 2005''<br />
*Several critical bug fixes<br />
<br />
<br />
==Version 1.0 RC 1 (Laius)==<br />
''25 July 2005''<br />
*Compiler support for OpenWatcom <br />
*Per-target environment variables<br />
*Convenient "Start here" page<br />
*Improved gcc error parsing<br />
*Find in files functionality<br />
*Ability to add files to project recursively. <br />
*External dependency handling<br />
*Better import of foreign project files<br />
*Many GDB debugger updates<br />
*Numerous user interface improvements<br />
*New project templates<br />
**QT4. <br />
**Ogre3D. <br />
* Modular Syntax highlighting<br />
* Syntax highlighting support for:<br />
**C/C++ <br />
**Windows resources <br />
**HTML/XML/XSL<br />
**Lua scripts <br />
**GameMonkey scripts <br />
**Hitach H8 ASM</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&diff=3746Code::Blocks command line arguments2006-08-31T16:57:37Z<p>Sethjackson: </p>
<hr />
<div>== Using command line arguments ==<br />
<br />
=== Windows ===<br />
<br />
# Find the Code::Blocks shortcut in the Desktop or Start menu.<br />
# Right click on the icon and select Properties.<br />
# Select the Shortcut tab.<br />
# Append the command line arguments you want to use to the end of the Target text (behind the quote mark).<br />
# Run Code::Blocks by using the shortcut you edited.<br />
<br />
'''Example'''<br />
<br />
"C:\Program Files\CodeBlocks\codeblocks.exe" /na /nd<br />
<br />
=== *nix ===<br />
<br />
# Launch a terminal client, such as XTerm, Gnome Terminal or Konsole.<br />
# Type "codeblocks" and then append the command line arguments you want to use.<br />
<br />
'''Example'''<br />
<br />
codeblocks --no-splash-screen --debug-log<br />
<br />
== Command line arguments ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
! Argument <br />
! Function<br />
|-<br />
<br />
|-<br />
| '''/h''', '''--help'''<br />
| Shows a help message about the command line arguments.<br />
|-<br />
<br />
|-<br />
| '''/na''', '''--no-check-associations'''<br />
| Don't perform any file association checks (Windows only).<br />
|-<br />
<br />
|-<br />
| '''/nd''', '''--no-dde'''<br />
| Don't start a [http://en.wikipedia.org/wiki/Dynamic_Data_Exchange DDE] server (Windows only).<br />
|-<br />
<br />
|-<br />
| '''/ns''', '''--no-splash-screen'''<br />
| Hides the splash screen when the application is loading.<br />
|-<br />
<br />
|-<br />
| '''/d''', '''--debug-log'''<br />
| Display application's debug log.<br />
|-<br />
<br />
|-<br />
| '''--prefix='''''<str>''<br />
| Sets the shared data directory prefix.<br />
|-<br />
<br />
|-<br />
| '''/p''', '''--personality='''''<str>'', '''--profile='''''<str>''<br />
| Sets the [[Personalities|personality]] to use. You can use ''ask'' as the parameter to list available personalities.<br />
|-<br />
<br />
|-<br />
| '''--rebuild'''<br />
| Clean and build the project / workspace.<br />
|-<br />
<br />
|-<br />
| '''--build'''<br />
| Build the project / workspace.<br />
|-<br />
<br />
|-<br />
| '''--target='''''<str>''<br />
| Sets target for batch build.<br />
|-<br />
<br />
|-<br />
| '''--no-batch-window-close'''<br />
| Keeps the batch log window visible after the batch build has completed.<br />
|-<br />
<br />
|-<br />
| '''--batch-build-notify'''<br />
| Shows a message after the batch build has completed.<br />
|-<br />
<br />
|}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Code::Blocks_command_line_arguments&diff=3745Code::Blocks command line arguments2006-08-31T16:57:07Z<p>Sethjackson: Made it a table</p>
<hr />
<div>== Using command line arguments ==<br />
<br />
=== Windows ===<br />
<br />
# Find the Code::Blocks shortcut in the Desktop or Start menu.<br />
# Right click on the icon and select Properties.<br />
# Select the Shortcut tab.<br />
# Append the command line arguments you want to use to the end of the Target text (behind the quote mark).<br />
# Run Code::Blocks by using the shortcut you edited.<br />
<br />
'''Example'''<br />
<br />
"C:\Program Files\CodeBlocks\codeblocks.exe" /na /nd<br />
<br />
=== *nix ===<br />
<br />
# Launch a terminal client, such as XTerm, Gnome Terminal or Konsole.<br />
# Type "codeblocks" and then append the command line arguments you want to use.<br />
<br />
'''Example'''<br />
<br />
codeblocks --no-splash-screen --debug-log<br />
<br />
== List of command line arguments ==<br />
<br />
{| border="1" cellpadding="3" cellspacing="0" style="border: 1px solid gray; border-collapse: collapse;"<br />
<br />
|- style="background: #ececec; border: 1px solid gray"<br />
! Argument <br />
! Function<br />
|-<br />
<br />
|-<br />
| '''/h''', '''--help'''<br />
| Shows a help message about the command line arguments.<br />
|-<br />
<br />
|-<br />
| '''/na''', '''--no-check-associations'''<br />
| Don't perform any file association checks (Windows only).<br />
|-<br />
<br />
|-<br />
| '''/nd''', '''--no-dde'''<br />
| Don't start a [http://en.wikipedia.org/wiki/Dynamic_Data_Exchange DDE] server (Windows only).<br />
|-<br />
<br />
|-<br />
| '''/ns''', '''--no-splash-screen'''<br />
| Hides the splash screen when the application is loading.<br />
|-<br />
<br />
|-<br />
| '''/d''', '''--debug-log'''<br />
| Display application's debug log.<br />
|-<br />
<br />
|-<br />
| '''--prefix='''''<str>''<br />
| Sets the shared data directory prefix.<br />
|-<br />
<br />
|-<br />
| '''/p''', '''--personality='''''<str>'', '''--profile='''''<str>''<br />
| Sets the [[Personalities|personality]] to use. You can use ''ask'' as the parameter to list available personalities.<br />
|-<br />
<br />
|-<br />
| '''--rebuild'''<br />
| Clean and build the project / workspace.<br />
|-<br />
<br />
|-<br />
| '''--build'''<br />
| Build the project / workspace.<br />
|-<br />
<br />
|-<br />
| '''--target='''''<str>''<br />
| Sets target for batch build.<br />
|-<br />
<br />
|-<br />
| '''--no-batch-window-close'''<br />
| Keeps the batch log window visible after the batch build has completed.<br />
|-<br />
<br />
|-<br />
| '''--batch-build-notify'''<br />
| Shows a message after the batch build has completed.<br />
|-<br />
<br />
|}</div>Sethjacksonhttps://wiki.codeblocks.org/index.php?title=Roadmap_for_version_1.0&diff=3713Roadmap for version 1.02006-08-23T18:53:39Z<p>Sethjackson: /* Version 1.0 RC 3 (Ephialtes) */</p>
<hr />
<div>[[Category:Code::Blocks Documentation]]<br />
==Version 1.0 (Pheidippides)==<br />
''August 2006''<br />
<br />
==Version 1.0 RC final (Athenades)==<br />
''Mid-July 2006''<br />
*No feature additions.<br />
*Regression and bug handling only.<br />
<br />
==Version 1.0 RC 3 (Ephialtes)==<br />
''Around end of June 2006''<br />
*[[Image:Chk.png]]Unicode support<br />
**[[Image:Chk.png]]User interface<br />
**[[Image:Chk.png]]Configuration system<br />
**[[Image:Chk.png]]Editor component<br />
**[[Image:Nop.png]]Fully automatic detection of document encoding<br />
*[[Image:Blk.png]]<s>Scripting support (Angelscript)</s> <i>(abandoned due to lack of 64bit support)</i><br />
*[[Image:Blk.png]]Scripting support (Squirrel/Sq plus)<br />
**[[Image:Chk.png]]Watch scripts (see [[Debugger scripts]])<br />
**[[Image:Chk.png]]Build target scripts<br />
*[[Image:Chk.png]]Virtual folder support<br />
*[[Image:Chk.png]]Global user variables<br />
**[[Image:Chk.png]]Profile-dependent GUVs<br />
**[[Image:Chk.png]]Multiple variable sets<br />
**[[Image:Chk.png]]Custom variable definition<br />
*[[Image:Chk.png]]wxFlatNoteBook editors<br />
*[[Image:Chk.png]]wxAUI docking library<br />
*[[Image:Chk.png]]Context-sensitive layout switching<br />
*[[Image:Chk.png]]XML-based configuration system<br />
*[[Image:Blk.png]]XML-based compiler framework<br />
*[[Image:Blk.png]]Property-based build system<br />
*[[Image:Chk.png]]Improved configuration user interface<br />
*[[Image:Blk.png]]Automatic updates<br />
*[[Image:Blk.png]]Usability and stability fixes for code completion plugin <br />
*[[Image:Blk.png]]Regression and bug handling.<br />
<br />
==Version 1.0 RC 2 (Leonidas)==<br />
''25 October 2005''<br />
*Precompiled headers (PCH) support! (currently works only with GCC) <br />
*The source is now fully UNICODE-compatible! <br />
*The source is also fully 64-bit compatible! <br />
*Autoconf/automake build system is now used for non-windows platforms<br />
* New editor functionality<br />
**Find declaration<br />
**Open #include<br />
*Project wizard plugins<br />
*Support for SDCC<br />
*Better handling of modified files outside the IDE<br />
*Single file compilation<br />
*Find-in-Files for arbitrary paths/filemasks<br />
*All internal file formats are well-formed, valid XML<br />
*New plugins:<br />
**Code statistics: counts nr. of source lines, nr. of comment lines, etc. <br />
**CBProfiler: parses and displays the output of GProf, the GNU Profiler<br />
**SourceExporter: exports the active file to HTML/RTF/ODT<br />
*New lexers: <br />
**Fortran77 <br />
**NVidia CG<br />
**X-Base languages (Clipper, Foxpro) <br />
*New and improved project templates: <br />
**SDCC program <br />
**Irrlicht 3D Graphics Engine <br />
**Ogre 3D Graphics Engine <br />
**GLFW project (OpenGL FrameWork) <br />
**wxWidgets: static/dynamic unicode/ansi versions. <br />
<br />
<br />
==Version 1.0 RC 1-1 (Oedipus)==<br />
''2 August 2005''<br />
*Several critical bug fixes<br />
<br />
<br />
==Version 1.0 RC 1 (Laius)==<br />
''25 July 2005''<br />
*Compiler support for OpenWatcom <br />
*Per-target environment variables<br />
*Convenient "Start here" page<br />
*Improved gcc error parsing<br />
*Find in files functionality<br />
*Ability to add files to project recursively. <br />
*External dependency handling<br />
*Better import of foreign project files<br />
*Many GDB debugger updates<br />
*Numerous user interface improvements<br />
*New project templates<br />
**QT4. <br />
**Ogre3D. <br />
* Modular Syntax highlighting<br />
* Syntax highlighting support for:<br />
**C/C++ <br />
**Windows resources <br />
**HTML/XML/XSL<br />
**Lua scripts <br />
**GameMonkey scripts <br />
**Hitach H8 ASM</div>Sethjackson