What It Is
MySQL++ is a C++ wrapper for MySQL's C API. It is built
around STL principles, to make dealing with the database
as easy as dealing with an STL container. MySQL++ relieves
the programmer of dealing with cumbersome C data structures,
generation of repetitive SQL statements, and manual creation
of C++ data structures to mirror the database schema.
To build MySQL++, you must have the MySQL C API development
On Unixy systems (Linux, Mac OS X, Cygwin, "real" Unix...),
the MySQL development files are installed if you build MySQL
from source. If you installed MySQL as a binary package,
then the development files are often packaged separately from
the MySQL server itself. It's common for the package to be
called "MySQL-devel" or something like that.
If you're building on Windows with Visual C++, you can install
the native Win32 port of MySQL from mysql.com. You should do
a custom install, as the MySQL++ build system expects MySQL to
be installed in c:\mysql, and not the directory-du-jour used
by the changing installer versions.
Additional Files to Read
The README.* files have information specific to each of the
major platforms we support.
For authorship information, see the CREDITS file.
For license information, see the LICENSE file.
Send feedback and questions to the MySQL++ mailing list:
Building the Library
MySQL++ has two supported build systems.
The first is based on the GNU autotools, and is primarily
for Linux, Mac OS X, Cygwin, and the "real" Unices.
See README.unix for details. There's a possiblity that
it will also work on Cygwin competitors such as MKS, UWin,
and Microsoft SFU, but this hasn't been tested.
Mainstream Win32 tool chains are supported -- if at all --
by the MySQL++-specific 'makemake' system. If your platform
is one of those supported, it will have a secondary README
file in this directory with more details.
If your system isn't supported by the autotools or makemake
systems, you will have to either add that support, or find
some way to build the library yourself. We welcome patches
to add new platform support on the mailing list. We would
much prefer to have extensions to the existing build systems
than completely new systems, such as project files for
proprietary IDEs. The project's history shows that project
files tend to be neglected as new library features are added,
so we're reluctant to accept these.
You may want to try out the programs in the examples subdirectory
to ensure that the MySQL++ API and your MySQL database are both
working properly. Also, these examples give many examples of the
proper use of MySQL++. See examples/README for further details.
If you're on Windows but want to use some other compiler
besides Visual C++ or GCC, you are currently on your own.
There have been past efforts to port MySQL++ to other Windows
compilers, but for one reason or another, all of these ports
On Unixy systems, GCC still works best. "Native" compilers
and third-party compilers may work, but you're on your own
to get it working.
We have nothing in particular against these unsupported
systems. We just lack the time and resources to support
everything ourselves. If you are sufficiently motivated to
get MySQL++ working on one of these alternate systems, see
the HACKERS file first for guidance. If you follow the advice
in that file, your patch will be more likely to be accepted.
If You Want to Hack on MySQL++...
If you intend to change the library or example code, please read
the HACKERS file.
If you want to change the user manual, read doc/userman/README.
If you want to change the reference manual, see the Doxygen