128 lines
5.1 KiB
Text
128 lines
5.1 KiB
Text
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.
|
|
|
|
Its home page is http://tangentsoft.net/mysql++/
|
|
|
|
|
|
Prerequisites
|
|
~~~~~~~~~~~~~
|
|
To build MySQL++, you must have the MySQL C API development
|
|
files installed.
|
|
|
|
On Unixy systems (Linux, Mac OS X, Cygwin, *BSD, Solaris...),
|
|
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 containing the
|
|
development files to be called something like "MySQL-devel".
|
|
|
|
If you're building on Windows with Visual C++ or MinGW, you
|
|
need to install the native Win32 port of MySQL from mysql.com.
|
|
The development files are only included with the "complete"
|
|
version of the MySQL installer, and some versions of this
|
|
installer won't actually install them unless you do a custom
|
|
install. Another pitfall is that MySQL++'s project files assume
|
|
that you've installed the current General Availability release of
|
|
MySQL (v5.0 right now) and it's installed in the default location.
|
|
If you've installed a different version, or if MySQL Inc. changes
|
|
the default location (which they seem to do regularly!) you'll have
|
|
to adjust the link and include file paths in the project settings.
|
|
|
|
|
|
Additional Things to Read
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Each major platform we support has a dedicated README-*.txt
|
|
file for it containing information specific to that platform.
|
|
Please read it.
|
|
|
|
For authorship information, see the CREDITS.txt file.
|
|
|
|
For license information, see the COPYING.txt file.
|
|
|
|
If you want to change MySQL++, see the HACKERS.txt file.
|
|
|
|
You should have received a user manual and a reference manual
|
|
with MySQL++. If not, you can read a recent version online:
|
|
|
|
http://tangentsoft.net/mysql++/doc/
|
|
|
|
Search the MySQL++ mailing list archives if you have more
|
|
questions:
|
|
|
|
http://lists.mysql.com/plusplus/
|
|
|
|
|
|
Building the Library
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
MySQL++ uses Bakefile (http://bakefile.org/) to generate
|
|
platform-specific project files and makefiles from a single set
|
|
of input files. We currently support these build systems:
|
|
|
|
autoconf:
|
|
For Unixy platforms, including Linux, Mac OS X, and Cygwin, in
|
|
addition to the "real" Unices. See README-Unix.txt for general
|
|
instructions. Supplementary platform-specific details are
|
|
in README-Cygwin.txt, README-Linux.txt, README-Mac-OS-X.txt,
|
|
and README-Solaris.txt.
|
|
|
|
MinGW:
|
|
We ship Makefile.mingw for MinGW. It currently only builds the
|
|
static version of the library for technical reasons. This has
|
|
licensing ramifications. See README-MinGW.txt for details.
|
|
|
|
Visual C++:
|
|
We ship Visual Studio 2003, 2005, and 2008 project files.
|
|
No older version of Visual C++ will build MySQL++, due to
|
|
compiler limitations. See README-Visual-C++.txt for more
|
|
details.
|
|
|
|
Xcode:
|
|
We ship an Xcode v2 project file. It hasn't been tested
|
|
much yet, since the autoconf method works just fine on OS X.
|
|
As a result, we need both success and failure reports on the
|
|
mailing list. See README-Mac-OS-X.txt for more information.
|
|
|
|
|
|
Example Programs
|
|
~~~~~~~~~~~~~~~~
|
|
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 README-examples.txt for further
|
|
details.
|
|
|
|
|
|
Unsupported Compliers
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
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 have died.
|
|
|
|
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.txt
|
|
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.txt file.
|
|
|
|
If you want to change the user manual, read doc/userman/README.txt
|
|
|
|
If you want to change the reference manual, see the Doxygen manual:
|
|
http://www.stack.nl/~dimitri/doxygen/manual.html
|