Friday, November 21, 2008

Codeblocks free C++ IDE.

Codeblocks is a free C++ IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. Built around a plugin framework, Code::Blocks can be extended with plugins. It even includes a plugin wizard so you can create your own plugins! (Free SDK downloaded separately)

Feature

Highlights:
  • Open Source! GPL2, no hidden costs.
  • Cross-platform. Runs on Linux or Windows (uses wxWidgets).
  • Made in GNU C++. No interpreted languages or proprietary libs needed.
  • Comes in two presentations: Standalone, and MinGW bundle
  • Devpack support (optional)
  • Extensible through plugins (SDK available in the downloads section)

Compiler-related features:
  • Multiple compiler support: - GCC (MingW / Linux GCC) - MSVC++ - Digital Mars - Borland C++ 5.5 - Open Watcom
  • Compiles directly or with makefiles
  • Predefined project templates
  • Custom template support
  • Uses XML format for project files.
  • Multi-target projects
  • Workspaces support
  • Imports MSVC projects and workspaces
  • Imports Dev-C++ projects
  • Integrates with GDB for debugging

Interface Features:
  • Syntax highlighting, customizable and extensible
  • Code folding for C++ and XML files.
  • Tabbed interface
  • Code completion plugin
  • Class Browser
  • Smart indent
  • One-key swap between .h and .c/.cpp files
  • Open files list for quick switching between files (optional)
  • External customizable "Tools"
  • To-do list management with different users

Codeblocks setup for windows you can download codeblocks from codeblocks.org or codeblocks nightly build (recommended) or Codeblocks V1.0RC2 (not recommended) or download from below link.

Codeblocks : nightly build
CB_20070610_rev4084_win32.7z
mingwm10.7z
wxmsw28u_gcc_cb_wx284.7z

wxWidgets GUI toolkit
wxMSW-2.8.4-Setup.exe

MinGW GCC compiler
binutils-2.15.91-20040904-1.tar.gz
gcc-core-3.4.2-20040916-1.tar.gz
gcc-g++-3.4.2-20040916-1.tar.gz
gdb-5.2.1-1.exe
mingw32-make-3.80.0-3.exe
mingw-runtime-3.9.tar.gz
mingw-utils-0.3.tar.gz
w32api-3.9.tar.gz

Extract files
Codeblocks:
Extract CB_20070610_rev4084_win32.7z, mingwm10.7z, wxmsw28u_gcc_cb_wx284.7z to codeblocks's folder for example C:\codeblocks\
wxWidgets:
Install wxWidgets by using wxWidgets's installer (I'v installed to C:\wxWidgets-2.8.4)
MinGW GCC compiler:
Extract all files to MinGW's folder for example C:\MinGW\ After successful installation of all files, make sure you have the following directories included in your PATH environment variable: * \bin; * \mingw32\bin; (You can add them by right-clicking the My Computer icon on your desktop and selecting Properties. Then select the Advanced tab and choose Environment Variables.)



Building wxWidgets

Now it is time to compile wxWidgets, open the command promt and change to the wxWidgets directory:

cd \build\msw

NOTE: The following instructions do not work with MSYS, or other forms of Unix on Windows.

Now the first thing to do is to clean up the source:

mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean

NOTE: Make sure you use exactly the same options for this step and for the build step below. The clean target uses these variables and only cleans the specified version of the generated object and library files (so it will actually not clean the intended files if these variables are not identical).

NOTE: If you still have problems with compiling after cleaning, you could try to manually remove the gcc_msw directory under the build\msw directory. This directory is the place where the object files are stored.

When everything is clean you can start actually compiling wxWidgets:

mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=0 BUILD=release

NOTE: These options are the officially supported Code::Blocks options. If you want another version of wxWidgets (debug or non-unicode) you still have to make sure you build a MONOLITHIC version (one big DLL) for linking Code::Blocks against.

Now you can get a cup of coffee or do something else because this step takes some time. Make sure there was no compilation error before you continue.

Build for debug.

mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=0 BUILD=debug

When build is completed, copy wxmsw28_gcc_custom.dll, wxmsw28d_gcc_custom.dll from C:\wxWidgets-2.8.4\lib\gcc_dll to C:\WINDOWS\system32

Run codeblocks by double click codeblocks.exe (C:\Codeblocks\codeblocks.exe)



Create new project, File->New->Project then select wxWidgets project and click GO



Click Next to continue.



Select wxWidgets 2.8.x then click Next.



Fill Project title for example HelloWorld.



Fill Author detail.



Prefer GUI builder use select wxSmith, Application type use Dialog based.



Enter valid wxWidgets's folder.



Select GNU GCC COmpiler and checked Create debug, Create release.



Checked as below figure.



New project wizzard is completed.



Configuration new project by the following step.
  • Setup Global variables by select Setting->Global variables as below figure.



  • Setup Build option by select Project->Build option, select Debug in left pane, click on Linker settings tab and click on Add button to add wxWidgets library for debugging, example C:\wxWidgets-2.8.4\lib\gcc_dll\libwxmsw28d.a



  • Click on Search directorys tab, select Compiler tab and click on Add to add header's folder for compilation, for example C:\wxWidgets-2.8.4\lib\gcc_dll\mswd



  • Click on Search directorys select Linker tab and click on Add button to add linker's file, for example C:\wxWidgets-2.8.4\lib\gcc_dll\



  • Build option for Release diference from Debug are
    - change libwxmsw28d.a to libwxmsw28.a
    - change C:\wxWidgets-2.8.4\lib\gcc_dll\mswd to C:\wxWidgets-2.8.4\lib\gcc_dll\msw


After setup Build option is completed you can start build your project by select Build->Build or press Ctrl+F9, if error has occured please check configuration again.



Run your application by select Build->Run or press Ctrl+F10, you'll see below dialog.



Congratulation you've finished codeblocks setup.
*** Note ***
if you've install WINAVR please remove WINAVR paths from system' path before compile wxWidgets. If you've any question post your question on forum.


AVRnet CPanel built from codeblocks.

No comments: