On Tue, Dec 28, 2004 at 09:59:22AM -0800, Totte Karlsson wrote:
> >> Line 4 in /example/util.h was changed from
> >> #include <mysql++.h>
> >> to
> >> #include "mysql++.h"
> >
> > Wrong. double-quotes are only for headers expected to be found in the
> > same directory as the #including file. mysql++.h is always found through
> > the include path.
>
> I don't know whats up with the use of <> for mysql++ headers. I believe is
> "wrong" the way mysql++ are using it.
[snip]
> I think of mysql++ as user supplied software, not as anything standard or
> "system". There seem to be belief that mysql++ is something "system". On
[snip]
> Also, having header names such as tiny_int, custom, fields, defs and so on
> is asking for trouble when mixing with other libraries. Therefore I think it
> would be a good idea to prefix each header file name with mysqlpp or sqlpp
> or something that makes the file names unique.
And that is why you include with <mysql++.h> :-) The <> means the system
directories take precedence, so you can still have a mysql++.h in your
build directory and be able to differentiate them. Plus, the mysql++.h
header includes all its headers with "" so that it takes them from
the same directory mysql++.h is in, and therefore, no naming conflicts.
If you really want to use a special naming scheme, install mysql++ headers
into their own directory under your system include directories, and then
do:
#include <mysql++/mysql++.h>
Using this method, you don't need a special /I switch for the mysql++ headers.
- Chris