cmake链接MySQL分析
来源:互联网 发布:linux 多国 语言 查看 编辑:程序博客网 时间:2024/06/06 05:06
下面这份代码,是我从网上找到的添加MySQL头文件和链接文件的CMake代码。
# - Find mysqlclient# Find the native MySQL includes and library## MYSQL_INCLUDE_DIR - where to find mysql.h, etc.# MYSQL_LIBRARIES - List of libraries when using MySQL.# MYSQL_FOUND - True if MySQL found.IF (MYSQL_INCLUDE_DIR) # Already in cache, be silent SET(MYSQL_FIND_QUIETLY TRUE)ENDIF (MYSQL_INCLUDE_DIR)#从下面那两个路径找mysql.h,将找到的路径放到MYSQL_INCLUDE_DIR这个变量中。FIND_PATH(MYSQL_INCLUDE_DIR mysql.h /usr/local/include/mysql /usr/include/mysql)#设置要寻找的链接库的名字,这里应该是找libmysqlclient.soSET(MYSQL_NAMES mysqlclient mysqlclient_r)#将libmysqlclient.so的路径放到MYSQL_LIBRARYFIND_LIBRARY(MYSQL_LIBRARY NAMES ${MYSQL_NAMES} PATHS /usr/lib /usr/local/lib PATH_SUFFIXES mysql)#如果上面找到mysql的头文件和mysql的库文件,就将MYSQL_FOUND设为真IF (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) SET(MYSQL_FOUND TRUE) SET( MYSQL_LIBRARIES ${MYSQL_LIBRARY} )ELSE (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY) SET(MYSQL_FOUND FALSE) SET( MYSQL_LIBRARIES )ENDIF (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY)#如果找到并且没有设置QUIET,则输出搜到动态库路径#如果找不到就输出错误信息IF (MYSQL_FOUND) IF (NOT MYSQL_FIND_QUIETLY) MESSAGE(STATUS "Found MySQL: ${MYSQL_LIBRARY}") ENDIF (NOT MYSQL_FIND_QUIETLY)ELSE (MYSQL_FOUND) IF (MYSQL_FIND_REQUIRED) MESSAGE(STATUS "Looked for MySQL libraries named ${MYSQL_NAMES}.") MESSAGE(FATAL_ERROR "Could NOT find MySQL library") ENDIF (MYSQL_FIND_REQUIRED)ENDIF (MYSQL_FOUND)#将他标记为高级变量,具体什么作用没查到MARK_AS_ADVANCED( MYSQL_LIBRARY MYSQL_INCLUDE_DIR )
我们可以将这份代码写成一个cmake模块,然后通过FIND_PACKAGE(< name>)去得到这个模块的头文件路径和链接库路径,得到的路径一般会存放在< name>_LIBRARIES,< name>_INCLUDE_DIR这两个变量中。
我可以将上面那份代码放到一个新的文件中FindMySQL.cmake,通过在主CMakeLists.txt中SET(CMAKE_MODULE_PATH dir)将其放入工程的某个目录中供工程使用,然后就可以调用FIND_PACKAGE(MySQL)就可以得到mysql的头文件路径和动态链接库路径:MySQL_INCLUDE_DIR, MySQL_LIBRARIES。
0 0
- cmake链接MySQL分析
- cmake 链接动态链接库
- CMake链接libmysqlcppconn问题
- CMake如何查找链接库
- CMake如何查找链接库
- cmake链接依赖
- cmake 实例分析,cmake入门
- cmake导入外部链接库
- CMake 默认编译、链接选项
- CMake 构建动态链接库
- CMake配置工程链接库
- Cmake链接Opencv3.20+QT
- CMake编译链接可执行程序
- CMAKE默认编译链接选项
- Linux Cmake静态库链接
- cmake include_directories分析
- mysql编译工具 cmake
- MYSQL cmake 安装指南
- Java的Integer缓存
- 在路上, 英语
- 1041. 考试座位号(15)
- JavaScript的函数
- 在windows下使用postgreSQL导入tpch的数据表
- cmake链接MySQL分析
- oj问题一-结构体---学生信息排序
- Html快速解析工具——Jsoup使用
- Tsinsen A1112 代数表达式
- 位操作--- Flip Bits
- Linux内核分析——进程的描述和创建
- LintCode_366_斐波纳契数列
- 腾讯测试1
- python文件拷贝工具shutil介绍