Chapter 5 Building Connector/C++ Windows Applications with Microsoft Visual Studio

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.

Note

To avoid potential crashes, the build configuration of Connector/C++ should match the build configuration of the application using it. For example, do not use the release build of Connector/C++ with a debug build of the client application.

Static Library

The 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 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 and libmysql.dll.

Building a 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.

1. Select File, New, Project from the main menu.

2. 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, then click , to move to the Win32 Application Wizard.

3. 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 to close the wizard.

4. From the drop down list box on the toolbar, change from the default Debug build to the Release build.

5. From the main menu select Project, Properties. This can also be accessed using the hot key + .

6. Under Configuration Properties, open the tree view.

7. Select C++, General in the tree view.

8. Ensure that Visual Studio can find the MySQL include directory. This directory includes header files that can optionally be installed when installing MySQL Server.

9. In the Additional Include Directories text field, add the MySQL include/ directory.

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

12. Add the lib/opt directory into the Additional Library Directories text field. This enables the library file libmysql.lib to be found.

Static Build

The remaining steps depend on whether you are building an application to use the 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:

2. Enter mysqlcppconn-static.lib and libmysql.lib.

3. 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, define CPPCONN_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, enter CPPCONN_PUBLIC_FUNC= into the Preprocessor Definitions text field.

Note

Make sure you enter CPPCONN_PUBLIC_FUNC= and not CPPCONN_PUBLIC_FUNC, so that it is defined as an empty string.

Dynamic build

If you are building an application to use the Connector/C++ dynamically linked library, carry out these steps:

1. Under Linker, Input, add mysqlcppconn.lib into the Additional Dependencies text field.

2. 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 Connector/C++ Dynamic Linked Library at runtime.

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.