instal mysql cpp connector on ubuntu 16.04


Guide

install mysql connector for c++

sudo apt-get -y install mysql-server

#root,xxxxxx
mysql -uroot -pxxxxxx

sudo apt-get -y install libboost-all-dev

sudo apt-cache search libmysqlcppconn

    #libmysqlcppconn-dev - MySQL Connector for C++ (development files)
    #libmysqlcppconn7v5 - MySQL Connector for C++ (library)

sudo apt-get -y install libmysqlcppconn-dev
sudo apt-get install libmysqlcppconn7v5

target link with options mysqlcppconn

eg.

target_link_libraries (Backend  
    Config
    Util
    Model
    mysqlcppconn
    )

mysqlcppconn-config.cmake

# - Try to find MYSQLCPPCONN
#
# The following variables are optionally searched for defaults
#  MYSQLCPPCONN_ROOT_DIR:            Base directory where all MYSQLCPPCONN components are found
#
# The following are set after configuration is done:
#  MYSQLCPPCONN_FOUND
#  MYSQLCPPCONN_INCLUDE_DIRS
#  MYSQLCPPCONN_LIBRARIES
#  MYSQLCPPCONN_LIBRARYRARY_DIRS

include(FindPackageHandleStandardArgs)

set(MYSQLCPPCONN_ROOT_DIR "" CACHE PATH "Folder contains mysqlcppconn")

if(WIN32)
    find_path(MYSQLCPPCONN_INCLUDE_DIR cppconn/driver.h
        PATHS ${MYSQLCPPCONN_ROOT_DIR})
else()
    find_path(MYSQLCPPCONN_INCLUDE_DIR cppconn/dirver.h
        PATHS ${MYSQLCPPCONN_ROOT_DIR})
endif()

if(MSVC)
    find_library(MYSQLCPPCONN_LIBRARY_RELEASE mysqlcppconn
        PATHS ${MYSQLCPPCONN_ROOT_DIR}
        PATH_SUFFIXES Release)

    find_library(MYSQLCPPCONN_LIBRARY_DEBUG mysqlcppconn
        PATHS ${MYSQLCPPCONN_ROOT_DIR}
        PATH_SUFFIXES Debug)

    set(MYSQLCPPCONN_LIBRARY optimized ${MYSQLCPPCONN_LIBRARY_RELEASE} debug ${MYSQLCPPCONN_LIBRARY_DEBUG})
else()
    find_library(MYSQLCPPCONN_LIBRARY mysqlcppconn
        PATHS ${MYSQLCPPCONN_ROOT_DIR}
        PATH_SUFFIXES lib lib64)
endif()

find_package_handle_standard_args(MYSQLCPPCONN DEFAULT_MSG MYSQLCPPCONN_INCLUDE_DIR MYSQLCPPCONN_LIBRARY)

if(MYSQLCPPCONN_FOUND)
  set(MYSQLCPPCONN_INCLUDE_DIRS ${MYSQLCPPCONN_INCLUDE_DIR})
  set(MYSQLCPPCONN_LIBRARIES ${MYSQLCPPCONN_LIBRARY})
  message(STATUS "Found mysqlcppconn    (include: ${MYSQLCPPCONN_INCLUDE_DIR}, library: ${MYSQLCPPCONN_LIBRARY})")
  mark_as_advanced(MYSQLCPPCONN_ROOT_DIR MYSQLCPPCONN_LIBRARY_RELEASE MYSQLCPPCONN_LIBRARY_DEBUG
                                 MYSQLCPPCONN_LIBRARY MYSQLCPPCONN_INCLUDE_DIR)
endif()

CMakeLists.txt

for find_package(MYSQLCPPCONN REQUIRED) we copy user-defined mysqlcppconn-config.cmake to /usr/lib/cmake/mysqlcppconn

find_package(MYSQLCPPCONN REQUIRED)

include_directories(${MYSQLCPPCONN_INCLUDE_DIRS})
target_link_libraries (demo  ${MYSQLCPPCONN_LIBRARIES})

Reference

History

  • 2180118: created.
  • 20180223: add mysqlcppconn-config.cmake.

Author: kezunlin
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source kezunlin !
评论
  TOC