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实现 蓝桥杯 算法提高 合并石子
算法提高 合并石子 时间限制:2.0s 内存限制:256.0MB 问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数 ...
- Java实现 蓝桥杯VIP 算法训练 Car的旅行路线
大家可以看一下这个,蓝桥杯官网的这道题是有问题的 Car的旅行路线 算法训练 Car的旅行路线 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 查看参考代码 问题描述 又到暑假 ...
- Java实现Catenyms(并查集+dfs+欧拉回路)
Description A catenym is a pair of words separated by a period such that the last letter of the firs ...
- 解Bug之路-记一次存储故障的排查过程
解Bug之路-记一次存储故障的排查过程 高可用真是一丝细节都不得马虎.平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug.偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题, ...
- (三)Host头攻击
01 漏洞描述 为了方便获取网站域名,开发人员一般依赖于请求包中的Host首部字段.例如,在php里用_SERVER["HTTP_HOST"].但是这个Host字段值是不可信赖的( ...
- python自学Day06(自学书籍python编程从入门到实践)
第7章 用户输入和while循环 我们设计的程序大多是为了解决用户最终的问题,所以我们大多需要在用户那里获取一些信息. 学习用户输入的获取与处理,学习while循环让程序不断运行直到达到指定的条件不满 ...
- C# 反射详解一
首先反射是基于System.Reflection命名空间下,.Net框架提供的帮助类库,可以读取并使用metadata(元数据:描述对象信息的数据). 我们再来看下代码生成编译的总过程. 编译器编译( ...
- 小程序 大转盘 抽奖 canvas animation
项目需求运用到大转盘 可设置概率 可直接自定义结果 效果如下
- 06.Django-用户认证
用户认证 Django 内置一个 auth 模块,帮助用户实现注册.登录.注销以及修改密码等功能,帮助开发者省去了很多功夫 用于认证的数据表 auth_user User是auth模块中维护用户信息的 ...
- springmvc无法进入controller,且报错404
今天搭建一个springmvc项目时,前台一直报错404,在controller中调试发现程序没有进入controller. 通过多次刷新前台页面,发现第一次进入是会弹出错误提示,第二次之后就直接40 ...