MySQL Connector/C++ is available as a static or dynamic library to use with your application. This section looks at how to link the library to your application.
To avoid potential crashes the build configuration of MySQL Connector/C++ should match the build configuration of the application using it. For example, do not use the release build of MySQL Connector/C++ with a debug build of the client application.
Static library
The MySQL Connector/C++ static library file is
mysqlcppconn-static.lib
. This needs to be
statically linked with your application. You also need to link
against the files libmysql.dll
and
libmysql.lib
. Once linking has been
successfully completed, the application will require access to
libmysql.dll
at run time.
Dynamic library
The MySQL Connector/C++ dynamic library file is
mysqlcppconn.dll
. In order to build your
client application you need to link it with the file
mysqlcppconn.lib
. At run time the application
will require access to the files
mysqlcppconn.dll
and
libmysql.dll
.
Building a MySQL Connector/C++ application with Microsoft Visual Studio
Initially, the procedure for building an application to use either the static or dynamic library is the same. You then carry out some additional steps depending on whether you want to build your application to use the static or dynamic library.
Select File, New, Project from the main menu.
In the wizard select Visual C++, Win32. From Visual Studio Installed Templates select the application type Win32 Console Application. Enter a name for the application, and then click OK, to move to the Win32 Application Wizard.
In the Win32 Application Wizard, click on Application Settings and ensure the defaults are selected. The radio button Console application, and the checkbox Precompiled headers will be selected. Click Finish to close the wizard.
From the drop down list box on the toolbar, change from the default Debug build to the Release build.
From the main menu select Project, Properties. This can also be accessed using the hot key ALT + F7.
Under Configuration Properties, open the tree view.
Select C++, General in the tree view.
You now need to ensure that Visual Studio can find the MySQL include directory. This directory includes header files that can optionally be installed when installing MySQL Server.
Then in the Additional Include
Directories text field, add the MySQL
include/
directory.
You will also need to set the location of additional libraries
that Visual Studio will need in order to build the
application. These are located in the MySQL
lib/opt
directory, a sub-directory of the
MySQL Server installation directory.
In the tree view open Linker, General, Additional Library Directories.
Add the lib/opt
directory into the
Additional Library Directories text
field. This allows the library file
libmysql.lib
to be found.
The remaining steps depend on whether you are building an application to use the MySQL Connector/C++ static or dynamic library. If you are building your application to use the dynamic library go here. If you are building your application to use the static library, carry out the following steps:
Then open Linker, Input, Additional Dependencies.
Enter mysqlcppconn-static.lib
and
libmysql.lib
.
By default CPPCONN_PUBLIC_FUNC
is defined
to declare functions to be compatible with an application that
calls a DLL. If building an application to call the static
library, you must ensure that function prototypes are
compatible with this. In this case
CPPCONN_PUBLIC_FUNC
needs to be defined to
be an empty string, so that functions are declared with the
correct prototype.
In the Project,
Properties tree view, under
C++, Preprocessor,
enter CPPCONN_PUBLIC_FUNC=
into the
Preprocessor Definitions text field.
Make sure you enter CPPCONN_PUBLIC_FUNC=
and not CPPCONN_PUBLIC_FUNC
, as it needs
to be defined as an empty string.
If building an application to use the MySQL Connector/C++ dynamically linked library carry out these steps:
Under Linker, Input,
add mysqlcppconn.lib
into the
Additional Dependencies text field.
The application will need to access the MySQL Connector/C++ Dynamic Linked
Library at run time. Therefore,
mysqlcppconn.dll
needs to be in the same
directory as the application executable, or somewhere on the
system's path.
Copy mysqlcppconn.dll
to the same
directory as the application. Alternatively, extend the
PATH
environment variable using
SET PATH=%PATH%;C:\path\to\cpp
.
Alternatively, you can copy
mysqlcppconn.dll
to the Windows
installation Directory, typically
c:\windows
.
User Comments
Add your own comment.