MySQL Connector/C++ is available as a static or dynamic library to use with your application. This section describes how to link the library to your application.
MySQL Connector/C++能做为项目的静态或动态库,这章节就是描述如何链接该库到你的项目中。
Note
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
.
You link this library statically with your application. Also link against the files libmysql.dll
and libmysql.lib
.
At runtime, the application will require access to libmysql.dll
.
Dynamic Library
The MySQL Connector/C++ dynamic library file is mysqlcppconn.dll
.
To build your client application, link it with the file mysqlcppconn.lib
.
At runtime, the application will require access to the files mysqlcppconn.dll
andlibmysql.dll
.
Building a MySQL Connector/C++
Application with Microsoft Visual Studio
The initial steps for building an application to use either the static or dynamic library are the same. Some additional steps vary, depend on whether you are building your application to use the static or dynamic library.
- Select File, New, Project from
the main menu.Figure 5.1 Creating a New Project
- In the wizard, select Visual C++, Win32.
From Visual Studio Installed Templates, select
the application typeWin32 Console Application.
Enter a name for the application, then click OK, to move to the Win32
Application Wizard.Figure 5.2 The New Project Dialog Box
- In the Win32 Application Wizard, click Application
Settings and ensure the defaults are selected. The radio button Console
application and the check box Precompiled
headers are selected. Click Finish to close the wizard.Figure 5.3 The Win32 Application Wizard
- From the drop down list box on the toolbar, change from the default Debug build
to the Release build.Figure 5.4 Selecting the Release Build
- From the main menu select Project, Properties.
This can also be accessed using the hot key ALT + F7.Figure 5.5 Selecting Project Properties from the Main Menu
- Under Configuration Properties, open the tree
view. - Select C++, General in
the tree view.Figure 5.6 Setting Properties
- Ensure that Visual Studio can find the MySQL include directory. This directory includes header files that can optionally be installed when installing MySQL Server.
Figure 5.7 MySQL Include Directory
- In the Additional Include Directories text
field, add the MySQLinclude/
directory.Figure 5.8 Select Directory Dialog
- Also set the location of additional libraries that Visual Studio needs to build the application. These are located in the MySQL
lib/opt
directory,
a subdirectory of the MySQL Server installation directory.Figure 5.9 Typical Contents of MySQL lib/opt Directory
- In the tree view, open Linker, General, Additional
Library Directories.Figure 5.10 Additional Library Directories
- Add the
lib/opt
directory into the Additional
Library Directories text field. This enables the library filelibmysql.lib
to
be found.Figure 5.11 Additional Library Directories Dialog
Static Build
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, see Dynamic
Build. If you are building your application to use the static library, carry out the following steps:
- Open Linker, Input, Additional
Dependencies.Figure 5.12 Additional Dependencies
- Enter
mysqlcppconn-static.lib
andlibmysql.lib
.Figure 5.13 Adding Additional Dependencies
- By default
CPPCONN_PUBLIC_FUNC
is defined
to declare functions to be compatible with an application that calls a DLL. If you are building an application to call the static library, ensure that function prototypes are compatible with this. In this case, defineCPPCONN_PUBLIC_FUNC
to
be an empty string, so that functions are declared with the correct prototype.In the Project, Properties tree
view, under C++, Preprocessor,
enterCPPCONN_PUBLIC_FUNC=
into thePreprocessor
Definitions text field.Figure 5.14 Setting the CPPCONN_PUBLIC_FUNC Define
Note
Make sure you enter
CPPCONN_PUBLIC_FUNC=
and
notCPPCONN_PUBLIC_FUNC
, so that it is
defined as an empty string.
Dynamic build
If you are building an application to use the MySQL Connector/C++ dynamically linked library, carry out these steps:
- Under Linker, Input,
addmysqlcppconn.lib
into the Additional
Dependencies text field. mysqlcppconn.dll
must be in the same directory as the application
executable, or somewhere on the system‘s path, so that the application can access the MySQL Connector/C++ Dynamic Linked Library at runtime.Copy
mysqlcppconn.dll
to the same directory as the application.
Alternatively, extend thePATH
environment
variable usingSET PATH=%PATH%;C:\path\to\cpp
.
Alternatively, you can copymysqlcppconn.dll
to the Windows
installation Directory, typicallyc:\windows
.