Hi Blastradius,
You cant really "ensure that any code I may write in future will have all it needs already", as different code needs, and uses different libraries (which is one of the reasons there are so many libraries). What you need to do there is think through what you want to develop, and identify the libraries you expect to use for it. If you find later you need another library, add it to the list. Besides, if you ever want to release your code, you will need to list its dependancies for any one else to have a hope of installing it.
Normally, there are two types of lib package, the lib itself, and a lib-dev package which has the headers/etc for development.
In terms of "seeing" the headers, when they are installed, make sure that the "include directories" setting in your choice of IDE is set up to include their installed location. You should be able to get this information in Dapper by querying the dev package properties in synaptic. You may need to set up the lib directories too.
Generally though, this is for the sake of the IDE performing code-completion and object browsing. To actually build your code, you will need a makefile, or to autogenerate one with automake, and you should learn the tool and syntax. The makefile would then build the code with the relevant libs and headers.
In terms of a choice of IDE, it really depends what you want. If you want heavyweight everything, then Eclipse+CDT may be a good choice. If you want light-weight, and very nearly everything anyway, I recommend SciTE. Anjuta and KDevelop are both fairly comprehensive, but like you say, they tend to push you towards GTK or QT only development. For me, it generally just comes down to what I am comfortable with.
Good luck, development can be both a very rewarding and very frustrating path. Persevere, and it is generally worth it.
Danny
|