Today I spent 5+ hours in this problem so I think it is worth to write down my experience here...

I just started to play with Linux and the open source C++ IDE CodeLite. The IDE and wxWidgets library looks great, and the Linux platform is becoming more and more user friendly today. So I tried to build an application with CodeLite (2.1.3584) in Ubuntu (9.10).

I tried to build a wxWidgets application in Windows before. According to this article the thing is quite easy. However, I didn't expect it is so difficult to do the same thing in Linux (simply because I can't find a similar article on Internet). I googled again and again but didn't find much stuff useful.

Here is instructions I used:

1. Install wxWidgets package: sudo apt-get install libwxgtk2.8-dev

2. Install build essentials package: sudo apt-get install build-essential

3. Create a link for "/usr/include/wx-2.8/wx" to "/usr/include/wx", or copy the directory over

4. Create a link for "/usr/lib/wx/include/gtk2-unicode-release-2.8/wx/setup.h" to "/usr/include/wx/setup.h", or copy the file over

5. Open CodeLite IDE, create a project using wxWidgets template

6. Modify the default project settings to:
complier options: -g;$(shell wx-config --cxxflags)
linker options: -mwindows;$(shell wx-config --libs)

7. Complie and run


Without step 6 you may see following errors:

No config found to match: /usr/bin/wx-config --cxxflags --unicode=yes --debug=yes in /usr/lib/wx/config

No Target! You should use wx-config program for compilation flags!

It's because there is no debug library exists in /usr/lib/wx/config. By default there is only release+unicode builds.


update on 2010/1/9:

It is actually so easy. I didn't do it in a right way. Now I believe the right process should be following the instructions here.

For a simplified guild:

1. sudo apt-get install build-essential
2. sudo apt-get install libwxgtk2.8-dev libwxgtk2.8-dbg
3. sudo ln -sv /usr/include/wx-2.8/wx /usr/include/wx
4. Create a wx project in CodeLite, build and run with default settings. It should just works