rhel7 編寫CMakeList.txt編譯運行MySQL官方例子代碼

來源:互聯網
上載者:User

標籤:not   sub   current   include   串連   minimum   文檔   nbsp   rar   

註:若需要參考rhel7上安裝MySQL 請 點擊此處

1.下面MySQL連結庫版本用到了boost(若需要請到官網下載最新連結庫和文檔和C++串連資料庫操作樣本)

 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), Compressed TAR Archive

2.下載boost(若需要請到官網下載最新版本)

 boost_1_64_0.tar.gz

3.CMakeList.txt(初學寫的不好)

cmake_minimum_required(VERSION 2.6)PROJECT(tools)#MESSAGE(SEND_ERROR "Send Error." "${CMAKE_CURRENT_SOURCE_DIR}") #MESSAGE(STATUS "Status." "${PROJECT_SOURCE_DIR}") #MESSAGE(FATAL_ERROR "Fatal Error." "${PROJECT_BINARY_DIR}")#ADD_SUBDIRECTORY(SRC_SUBDIR_LIST)#SET(SRC_LIST ${SRC_LIST} main.cpp)AUX_SOURCE_DIRECTORY(. SRC_LIST)SET(EXECUTABLE ${SRC_LIST})SET(TARGET_NAME mysqltransfer)#---includeSET(INCLUDE_LIST ${INCLUDE_LIST} ${CMAKE_CURRENT_LIST_DIR}/../include/)INCLUDE_DIRECTORIES(${INCLUDE_LIST})#SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../lib/)#ADD_LIBRARY(${LINK_NAME} SHARED ${LINKABLE})SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/)ADD_EXECUTABLE(${TARGET_NAME} ${EXECUTABLE})#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMYSQLCLIENT_STATIC_LINKING=1")#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Bdynamic")#---dynamically steps---#---step 1:copy lib*.so.7.1.1.9 /usr/local/libX#---step 2:ln -s lib*.so.7.1.1.9 lib*.so.7#---step 3:ln -s lib*.so.7 lib*.so#---dynamic1-mysqlcppconn---SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lmysqlcppconn")LINK_DIRECTORIES(${CMAKE_CURRENT_LIST_DIR}/../lib/)#---dynamic2-mysqlcppconn---#TARGET_LINK_LIBRARIES(${TARGET_NAME} mysqlcppconn)#---dynamic3-mysqlcppconn---#FIND_LIBRARY(MySQL_CppConn NAMES mysqlcppconn PATHS ${PROJECT_SOURCE_DIR}/../lib/)#IF(MySQL_CppConn)#    SET(LIBS_LIST ${LIBS_LIST} mysqlcppconn)#    TARGET_LINK_LIBRARIES(${TARGET_NAME} ${LIBS_LIST})#ELSE(MySQL_CppConn)#    MESSAGE(SEND_ERROR "\tmysqlcppconn not found!\n")#ENDIF(MySQL_CppConn)#---static-mysqlcppconn---#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ldl")#ADD_LIBRARY(mysqlcppconn STATIC IMPORTED)#SET_PROPERTY(TARGET mysqlcppconn PROPERTY IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/../lib/libmysqlcppconn-static.a)#TARGET_LINK_LIBRARIES(${TARGET_NAME} mysqlcppconn pthread)#SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES -DBOOST_ROOT boost)SET(BOOST_ROOT "/usr/local/boost")#SET(BOOST_INCLUDEDIR "/usr/local/boost/include")#SET(BOOST_LIBRARYDIR "/usr/local/boost/libs")FIND_PACKAGE(Boost)IF(Boost_FOUND)    #TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME} INTERFACE ${Boost_INCLUDE_DIRS})    INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})    #LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})    TARGET_LINK_LIBRARIES(${TARGET_NAME} ${Boost_LIBRARIES})ELSE(Boost_FOUND)    MESSAGE(SEND_ERROR "\tboost not found!\n")ENDIF(Boost_FOUND)#MESSAGE(STATUS "Test Messages:\n\t" ${PROJECT_SOURCE_DIR}/../lib/)

 

rhel7 編寫CMakeList.txt編譯運行MySQL官方例子代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.