注:若需要参考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(初学写的不好)

  1. cmake_minimum_required(VERSION 2.6)
  2. PROJECT(tools)
  3.  
  4. #MESSAGE(SEND_ERROR "Send Error." "${CMAKE_CURRENT_SOURCE_DIR}")
  5. #MESSAGE(STATUS "Status." "${PROJECT_SOURCE_DIR}")
  6. #MESSAGE(FATAL_ERROR "Fatal Error." "${PROJECT_BINARY_DIR}")
  7.  
  8. #ADD_SUBDIRECTORY(SRC_SUBDIR_LIST)
  9. #SET(SRC_LIST ${SRC_LIST} main.cpp)
  10. AUX_SOURCE_DIRECTORY(. SRC_LIST)
  11. SET(EXECUTABLE ${SRC_LIST})
  12. SET(TARGET_NAME mysqltransfer)
  13.  
  14. #---include
  15. SET(INCLUDE_LIST ${INCLUDE_LIST} ${CMAKE_CURRENT_LIST_DIR}/../include/)
  16. INCLUDE_DIRECTORIES(${INCLUDE_LIST})
  17.  
  18. #SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../lib/)
  19. #ADD_LIBRARY(${LINK_NAME} SHARED ${LINKABLE})
  20. SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/)
  21. ADD_EXECUTABLE(${TARGET_NAME} ${EXECUTABLE})
  22.  
  23. #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  24. #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMYSQLCLIENT_STATIC_LINKING=1")
  25. #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Bdynamic")
  26.  
  27. #---dynamically steps---
  28. #---step 1:copy lib*.so.7.1.1.9 /usr/local/libX
  29. #---step 2:ln -s lib*.so.7.1.1.9 lib*.so.7
  30. #---step 3:ln -s lib*.so.7 lib*.so
  31.  
  32. #---dynamic1-mysqlcppconn---
  33. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lmysqlcppconn")
  34. LINK_DIRECTORIES(${CMAKE_CURRENT_LIST_DIR}/../lib/)
  35.  
  36. #---dynamic2-mysqlcppconn---
  37. #TARGET_LINK_LIBRARIES(${TARGET_NAME} mysqlcppconn)
  38.  
  39. #---dynamic3-mysqlcppconn---
  40. #FIND_LIBRARY(MySQL_CppConn NAMES mysqlcppconn PATHS ${PROJECT_SOURCE_DIR}/../lib/)
  41. #IF(MySQL_CppConn)
  42. # SET(LIBS_LIST ${LIBS_LIST} mysqlcppconn)
  43. # TARGET_LINK_LIBRARIES(${TARGET_NAME} ${LIBS_LIST})
  44. #ELSE(MySQL_CppConn)
  45. # MESSAGE(SEND_ERROR "\tmysqlcppconn not found!\n")
  46. #ENDIF(MySQL_CppConn)
  47.  
  48. #---static-mysqlcppconn---
  49. #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ldl")
  50. #ADD_LIBRARY(mysqlcppconn STATIC IMPORTED)
  51. #SET_PROPERTY(TARGET mysqlcppconn PROPERTY IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/../lib/libmysqlcppconn-static.a)
  52. #TARGET_LINK_LIBRARIES(${TARGET_NAME} mysqlcppconn pthread)
  53.  
  54. #SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES -DBOOST_ROOT boost)
  55. SET(BOOST_ROOT "/usr/local/boost")
  56. #SET(BOOST_INCLUDEDIR "/usr/local/boost/include")
  57. #SET(BOOST_LIBRARYDIR "/usr/local/boost/libs")
  58. FIND_PACKAGE(Boost)
  59. IF(Boost_FOUND)
  60. #TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME} INTERFACE ${Boost_INCLUDE_DIRS})
  61. INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
  62. #LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
  63. TARGET_LINK_LIBRARIES(${TARGET_NAME} ${Boost_LIBRARIES})
  64. ELSE(Boost_FOUND)
  65. MESSAGE(SEND_ERROR "\tboost not found!\n")
  66. ENDIF(Boost_FOUND)
  67.  
  68. #MESSAGE(STATUS "Test Messages:\n\t" ${PROJECT_SOURCE_DIR}/../lib/)

rhel7 编写CMakeList.txt编译运行MySQL官方例子代码的更多相关文章

  1. Objective-C学习备忘录:Clang编译器编译运行Objective-C代码

    我们都知道可以通过Apple公司的Xcode工具来学习Objective-C编程语言,但是能不能脱离XCode这个IDE进行Objective-C学习呢?当然是可以的.首先作为计算机科班出身的程序员都 ...

  2. CMake 使用方法 & CMakeList.txt<转>

    CMake 使用方法 & CMakeList.txt cmake 简介 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的make ...

  3. Cmake知识----编写CMakeLists.txt文件编译C/C++程序

    1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...

  4. Cmake知识----编写CMakeLists.txt文件编译C/C++程序(转)

    1.CMake编译原理 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt ...

  5. ROS初级教程 cmake cmakelist.txt 的编写教程

    有很多 的时候我们使用别人的程序包.然后添加东西的时候缺少什么东西,会使程序编译不过去,甚至无法运行,接下来介绍一下cmakelist.txt 的每一行的作用.为了以后添加和修改方便. 2.整体结构和 ...

  6. 单个源文件下CmakeList.txt

    单个源文件下CmakeList.txt 1. main.c代码 & CmakeLists.txt 文件内容 在任意自己选定的目录下(t1/)编写main.c 与 CmakeLists.txt ...

  7. Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  8. CentOS下编译安装MySQL 5.6.21

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...

  9. Android UiAutomator 自动化测试编译运行---新手2

    1.首先打开eclipse创建java项目

随机推荐

  1. Java实现 蓝桥杯 算法提高 合并石子

    算法提高 合并石子 时间限制:2.0s 内存限制:256.0MB 问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数 ...

  2. Java实现 蓝桥杯VIP 算法训练 Car的旅行路线

    大家可以看一下这个,蓝桥杯官网的这道题是有问题的 Car的旅行路线 算法训练 Car的旅行路线 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 查看参考代码 问题描述 又到暑假 ...

  3. Java实现Catenyms(并查集+dfs+欧拉回路)

    Description A catenym is a pair of words separated by a period such that the last letter of the firs ...

  4. 解Bug之路-记一次存储故障的排查过程

    解Bug之路-记一次存储故障的排查过程 高可用真是一丝细节都不得马虎.平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug.偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题, ...

  5. (三)Host头攻击

    01 漏洞描述 为了方便获取网站域名,开发人员一般依赖于请求包中的Host首部字段.例如,在php里用_SERVER["HTTP_HOST"].但是这个Host字段值是不可信赖的( ...

  6. python自学Day06(自学书籍python编程从入门到实践)

    第7章 用户输入和while循环 我们设计的程序大多是为了解决用户最终的问题,所以我们大多需要在用户那里获取一些信息. 学习用户输入的获取与处理,学习while循环让程序不断运行直到达到指定的条件不满 ...

  7. C# 反射详解一

    首先反射是基于System.Reflection命名空间下,.Net框架提供的帮助类库,可以读取并使用metadata(元数据:描述对象信息的数据). 我们再来看下代码生成编译的总过程. 编译器编译( ...

  8. 小程序 大转盘 抽奖 canvas animation

    项目需求运用到大转盘 可设置概率 可直接自定义结果 效果如下

  9. 06.Django-用户认证

    用户认证 Django 内置一个 auth 模块,帮助用户实现注册.登录.注销以及修改密码等功能,帮助开发者省去了很多功夫 用于认证的数据表 auth_user User是auth模块中维护用户信息的 ...

  10. springmvc无法进入controller,且报错404

    今天搭建一个springmvc项目时,前台一直报错404,在controller中调试发现程序没有进入controller. 通过多次刷新前台页面,发现第一次进入是会弹出错误提示,第二次之后就直接40 ...