Piece

[Visual Studio] Dynamic/Static Library Setup Example using MySQL Connector/C++

More Code 2018. 7. 9. 07:59


Building Connector/C++ Applications on Windows with Microsoft Visual Studio



Directory Structure


From https://dev.mysql.com/downloads/connector/cpp/8.0.html

Download mysql-connector-c++-8.0.11-windows-x86-64bit.zip file

Extract to $(SolutionDir)connector folder


$(SolutionDir)CppConnector

$(SolutionDir)connector\include

$(SolutionDir)connector\lib64\vs14



Visual Studio

Change the build configuration from "Debug" to "Release"

Copy *.dll files in $(SolutionDir)connector\lib64 folder to $(TargetDir) folder.

That is, to $(SolutionDir)Release folder.


Project > Properties > Configuration Properties > C/C++ > General > Additional Include Directories
Add "$(SolutionDir)connector\include"

Project > Properties > Configuration Properties > Linker > General > Additional Library Directories
Add "$(SolutionDir)connector\lib64\vs14"

Project > Properties > Configuration Properties > C/C++ > Code Generation > Runtime Library
Select "/MT" or "/MD" option
Do not use the "/MTd" or "/MDd" option


Dynamic Build - Linking the Dynamic Library

Project > Properties > Configuration Properties > Linker > Input > Additional Dependencies
Add "mysqlcppconn8.lib" for "X DevAPI"
Or add "mysqlcppconn.lib" for "JDBC"


Static Build - Linking the Static Library

Project > Properties > Configuration Properties > Linker > Input > Additional Dependencies

Add "mysqlcppconn8-static.lib" for "X DevAPI"

Or add "mysqlcppconn-static.lib" for "JDBC"

Project > Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions
Define "STATIC_CONCPP" for "X DevAPI"
Define "CPPCONN_PUBLIC_FUNC=" (not "CPPCONN_PUBLIC_FUNC") for "JDBC"