Skip to content
A C++ wrapper for the MySQL/MariaDB C API built on STL principles.
Branch: master
Clone or download
tangent
tangent Assorted improvements to HACKERS.md
FossilOrigin-Name: b5a68d68018a92c127120667fd183692be08631fd75b87400ccbc49b1d4464ef
Latest commit f9db70a May 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.fossil-settings Converted top-level README.txt file to Markdown so it formats more Apr 22, 2019
config Removed the redundant library removal bit on config/mysql_loc.m4. If Nov 23, 2017
doc Converted the user manual's README file to Markdown May 11, 2019
examples Added the MYSQLPP_UTF8_COL macro to go with MYSQLPP_UTF8_CS. MySQL Jul 26, 2018
lib Added support for ulonglong type in MySQL type conversions when building Feb 15, 2019
ssx Updated ssx/Doxyfile.in in the same way as we just did for Jul 12, 2018
test Added some SSQLSv2 testing files present in previous svn repo but not in Nov 23, 2017
tools Added tools/tarballs-to-fossil, the Bash script used to convert the Jun 28, 2017
Bakefiles.bkgen Version 3.2.0 Jun 21, 2013
COPYING.txt Version 3.0.3 May 11, 2008
CREDITS.txt Converted the plain-text ChangeLog file to Markdown format, adding only Jul 26, 2018
ChangeLog.md Version 3.2.4 Jul 27, 2018
HACKERS.md Assorted improvements to HACKERS.md May 11, 2019
INSTALL.txt Version 3.0.6 Aug 18, 2008
LICENSE.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README-Cygwin.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README-Linux.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README-Mac-OS-X.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README-MinGW.txt Version 3.2.0 Jun 21, 2013
README-Solaris.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README-Unix.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README-Visual-C++.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README-examples.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
README.md Typo fix May 11, 2019
RELEASE-CHECKLIST.txt Changed several *.txt files from Unix to DOS line endings, per Oct 17, 2018
abi.xml.in Version 3.2.0 Jun 21, 2013
bmark.txt Version 3.1.0 Jun 3, 2010
bootstrap
bootstrap.bat Version 3.0.9 Feb 4, 2009
cleanmf Version 3.0.0 Feb 29, 2008
configure.ac Version 3.2.4 Jul 27, 2018
dtest Version 3.1.0 Jun 3, 2010
exrun Version 3.0.5 Aug 8, 2008
exrun.bat Version 3.1.0 Jun 3, 2010
install.hta.in Version 3.0.6 Aug 18, 2008
mysql++.bkl Fixed a circular make dependency in way the libssqls2parse target was Feb 15, 2019
mysql++.ebuild
mysql++.spec.in Removed references to the now-removed Wishlist file. Jul 27, 2018
osver Version 2.1.0 Mar 24, 2006
pretty.pl Version 0.64.1.1.a Sep 27, 1998
rebake.bat Version 3.0.0 Feb 29, 2008
version.in

README.md

What It Is

MySQL++ is a C++ wrapper for the MySQL and MariaDB C APIs. 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.

MySQL++’s development home is its Fossil repository. You may be reading this via its GitHub mirror, but that repository is read-only, meant as a download-only mirror and for use by automation tooling based on Git. Checkins to the Fossil repository get pushed into the GitHub mirror within a day.

Prerequisites

To build MySQL++, you must have the MySQL/MariaDB 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, libmysqlclient-dev, etc.

If you're building on Windows with Visual C++ or MinGW, you need to install the native Windows port of MySQL or MariaDB. The way that’s packaged changes occasionally, so you might have to select a "complete" version rather than the server-only version. You might also have to choose a “custom” installation option to get the development files.

Another pitfall is that the project files we ship assume that you've installed the current General Availability release of MySQL in its default location on your computer. If you've installed a different version, or if those packaging the development files move them around — which happens occasionally! — 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.md file.

You should have received a user manual and a reference manual with MySQL++. If not, you can read a recent version online.

Search the MySQL++ mailing list archives and its forum if you have more questions.

Building the Library

MySQL++ uses Bakefile to generate platform-specific project files and makefiles from a single set of input files. We currently support these build systems:

  • autoconf: Use this method for most Unix type platforms along with the generic instructions. We have supplemental information for Linux, macOS, Cygwin, and Solaris.

  • MinGW: We ship Makefile.mingw for MinGW. See its README for details.

  • Visual C++: We ship Visual Studio 2003, 2005, and 2008 project files. Newer versions of Visual C++ can upgrade these automatically, though the result sometimes requires manual adjustment. No older version of Visual C++ will build MySQL++, due to compiler limitations. See its README for more details.

  • Xcode: We ship an Xcode project file, but it hasn't been well tested, since the autoconf method works just fine on macOS.

Unsupported C++ Compilers and Operating Systems

If you get MySQL++ to build under an operating system or with a C++ compiler not listed above, we’re likely to accept a patch for it. See the HACKERS file for guidance.

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++.

If You Want to Hack on MySQL++...

If you intend to submit a change to the MySQL++ project, see the HACKERS file.

If you want to change the MySQL++ user manual, also read the user manual’s README.

If you want to change the MySQL++ reference manual, see the Doxygen manual.

You can’t perform that action at this time.