rhel7 编写CMakeList.txt编译运行MySQL官方例子代码
注:若需要参考rhel7上安装MySQL 请 点击此处
1.下面MySQL链接库版本用到了boost(若需要请到官网下载最新链接库和文档和C++连接数据库操作示例)
Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), Compressed TAR Archive
2.下载boost(若需要请到官网下载最新版本)
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) #---include
SET(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官方例子代码的更多相关文章
- Objective-C学习备忘录:Clang编译器编译运行Objective-C代码
我们都知道可以通过Apple公司的Xcode工具来学习Objective-C编程语言,但是能不能脱离XCode这个IDE进行Objective-C学习呢?当然是可以的.首先作为计算机科班出身的程序员都 ...
- CMake 使用方法 & CMakeList.txt<转>
CMake 使用方法 & CMakeList.txt cmake 简介 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的make ...
- Cmake知识----编写CMakeLists.txt文件编译C/C++程序
1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...
- Cmake知识----编写CMakeLists.txt文件编译C/C++程序(转)
1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...
- ROS初级教程 cmake cmakelist.txt 的编写教程
有很多 的时候我们使用别人的程序包.然后添加东西的时候缺少什么东西,会使程序编译不过去,甚至无法运行,接下来介绍一下cmakelist.txt 的每一行的作用.为了以后添加和修改方便. 2.整体结构和 ...
- 单个源文件下CmakeList.txt
单个源文件下CmakeList.txt 1. main.c代码 & CmakeLists.txt 文件内容 在任意自己选定的目录下(t1/)编写main.c 与 CmakeLists.txt ...
- Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...
- CentOS下编译安装MySQL 5.6.21
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...
- Android UiAutomator 自动化测试编译运行---新手2
1.首先打开eclipse创建java项目
随机推荐
- Java实现构造无向图的欧拉回路( The Necklace)
中文翻译: 但是,唉!一天,项链被撕破了,珠子散落在屋檐上.我姐姐尽力把地板上的珠子都捡起来了.但她不确定自己是否能收集到所有的照片.现在,她来找我帮忙.她想知道是否有可能让克劳斯使用她在里面的所有珠 ...
- Spring Data Jpa Specification 调用Oracle 函数/方法
开发框架用的Jpa,数据库是 Oracle. 在开发中难免会遇到需要数据库字段是字符串格式,但是又需要对其进行范围查询(数据库设计问题,后续应避免).那么问题来了, Jpa Specification ...
- MAC/VMware配置双机调试简述
Configuration 注:建议提前备份所有修改内容,可能会导致无法开机. 我的测试环境: server: windows 10 + windbg client: windows 7 Server ...
- 还在用SimpleDateFormat格式化时间?小心经理锤你
还在用SimpleDateFormat格式化时间?小心经理锤你 场景 本来开开心心的周末时光,线上突然就疯狂报错,以为程序炸了,截停日志,发现是就是类似下述一段错误 java.lang.NumberF ...
- eurekaAutoServiceRegistration 异常
方案来自:https://github.com/spring-cloud/spring-cloud-netflix/issues/1952 解决办法: @Component public class ...
- @codefoces - 566E@ Restoring Map
目录 @description@ @solution@ @accepted code@ @details@ @description@ 对于一棵 n 个点的树,我们称两个点是相邻的当且仅当两个点的距离 ...
- PAT 1043 Is It a Binary Search Tree (25分) 由前序遍历得到二叉搜索树的后序遍历
题目 A Binary Search Tree (BST) is recursively defined as a binary tree which has the following proper ...
- Canvas 画布 H5
前言: canvas 元素用于在网页上绘制图形. canvas 本身是一个标签,<canvas>标签定义图形,必须使用脚本来绘制图形,比如在画布上(Canvas)画一个红色矩形,渐变矩形, ...
- VScode快捷键集锦(持续更新)
本文的快捷键是根据VScode for mac来的,Windows和Linux用户可能需要些许改动. 注释:cmd + / 注释当前选中的行,或者注释掉选中的行,再按一次反注释.还可以在按cmd + ...
- 利用Azure Functions和k8s构建Serverless计算平台
题记:昨晚在一个技术社区直播分享了"利用Azure Functions和k8s构建Serverless计算平台"这一话题.整个分享分为4个部分:Serverless概念的介绍.Az ...