User forums > Using Code::Blocks

multiplatform GTK proyect

(1/6) > >>

epsilon_da:
Hi.

I use codeblocks to program GTK applications together with some other libs like libusb and fftw3.

I programm mainly on linux i note lots of diferences which i will list on this post.

On OpenSuse,  Codeblocks 8.02 Build Mar 12 2009 svn 5483
On Windows,   Codeblocks 8.02 Build Feb 27 2008 no svn info

I started the first time with the GTK template, which in my opinion is incomplete.
It creates a simple, empty, non-portable Proyect with some gtk lines.

   GTK uses pkg-config for mostly everything.
   There are other ..-config programs like libusb-config
   Thoose programs makes life easier. And and can list "some" available libs on the libraries tab.

   On windows, the template AND the user have to add each include and linker related directory, which for GTK, are a lot. So it makes lernning GTK with codeblocks much more difficult for beginners.
   The options created by the template are global for the proyect and are not platform independent, so to compile the same proyect on linux, one have to re-estructure entirely the proyect and mantain a Debug/Release target for each OS. Debug-Win32, Debug-Linux, Release-Win32, Release-Linux,...
   This wont be necessary if pkg-config output where supported on windows too.
   It would be easier if the "libraries" tab worked in the same way for both platforms with all ..-config tools. Of course, a dialog to set the path to thoose tools will need to be available.


The Linux version have a funny limitation. The Linux version of CB can not edit the build properties of a target selected for windows, but the windows version can edit the properties for linux. I dont understand this limitation.

There should be also 2 versions of windows available. The "real" windows and CrossCompiling with MinGW for windows on linux. That is, producing exe's on linux.

That will make easier to use Codeblocks, and produce multiplatform opensource software.

Outside of that, Codeblocks is the best IDE ever.
I dont know why isnt it more used instead of Anjuta or KDevelop.


dmoore:
patches very welcome :)

epsilon_da:
I see, a bugreport isnt acepted without a patch to fix it.
Sure, then we will wait a couple of years with lucky, until i get used to wxwidgets and the codeblocks source code, and some have some other things in life finished. And, of course, it may not be acepted in main stream. At the end, it is easier to live with both problems. :)

dmoore:
I wasn't trying to be a wise guy with my response. I suggested a patch because:

* you gave us a detailed report suggesting you know enough about GTK to make a useful contribution;
* the wizards are scripted and should be relatively easy to understand for a newcomer;
* open source is all about scratching your own itch -- I don't know if any of the devs are using GTK as extensively as you are (I use pygtk from time to time, which is clearly irrelevant)
* we're actually pretty good about accepting patches. we have the usual open source problem of not enough hands to handle all of the requests.

If you don't want to contribute patches, it would be most helpful if you submit issues to the bug tracker or as a feature request. e.g. report bugs at http://developer.berlios.de/bugs/?group_id=5358

dmoore:

--- Quote from: epsilon_da on April 08, 2009, 06:17:15 pm ---   It would be easier if the "libraries" tab worked in the same way for both platforms with all ..-config tools. Of course, a dialog to set the path to thoose tools will need to be available.

--- End quote ---

that can be done in the wizard scripts.
alternatively, you have the wizard create global variables to allow the user to set paths to executables via that panel (this tends to be more useful on windows than on linux systems)

for more info:

http://wiki.codeblocks.org/index.php?title=Wizard_scripts


--- Quote ---There should be also 2 versions of windows available. The "real" windows and CrossCompiling with MinGW for windows on linux. That is, producing exe's on linux.

--- End quote ---

you should be able to do that by creating a new compiler and setting up the appropriate tool chain.

Navigation

[0] Message Index

[#] Next page

Go to full version