{"id":1617,"date":"2018-08-21T19:29:28","date_gmt":"2018-08-21T11:29:28","guid":{"rendered":"https:\/\/damogame.cn:15443\/wordpress\/?p=1617"},"modified":"2018-08-21T19:29:28","modified_gmt":"2018-08-21T11:29:28","slug":"cmake%e9%93%be%e6%8e%a5mysql%e5%88%86%e6%9e%90","status":"publish","type":"post","link":"https:\/\/i007.cc\/wordpress\/archives\/1617","title":{"rendered":"cmake\u94fe\u63a5MySQL\u5206\u6790"},"content":{"rendered":"<div class=\"article-header-box\">\n<div class=\"article-header\">\n<div class=\"article-title-box\">\n<h1 class=\"title-article\">cmake\u94fe\u63a5MySQL\u5206\u6790<\/h1>\n<\/div>\n<div class=\"article-info-box\">\n<div class=\"article-bar-top d-flex\"><span class=\"time\">2016\u5e7404\u670803\u65e5 22:08:09<\/span><\/p>\n<div class=\"float-right\"><span class=\"read-count\">\u9605\u8bfb\u6570\uff1a1728<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<article>\n<div id=\"article_content\" class=\"article_content clearfix csdn-tracking-statistics\" data-pid=\"blog\" data-mod=\"popu_307\" data-dsm=\"post\">\n<div class=\"markdown_views\">\n<p>\u4e0b\u9762\u8fd9\u4efd\u4ee3\u7801\uff0c\u662f\u6211\u4ece\u7f51\u4e0a\u627e\u5230\u7684\u6dfb\u52a0MySQL\u5934\u6587\u4ef6\u548c\u94fe\u63a5\u6587\u4ef6\u7684CMake\u4ee3\u7801\u3002<\/p>\n<pre class=\"prettyprint\"><code class=\"language-bash hljs  has-numbering\"><span class=\"hljs-comment\"># - Find mysqlclient<\/span>\r\n<span class=\"hljs-comment\"># Find the native MySQL includes and library<\/span>\r\n<span class=\"hljs-comment\">#<\/span>\r\n<span class=\"hljs-comment\">#  MYSQL_INCLUDE_DIR - where to find mysql.h, etc.<\/span>\r\n<span class=\"hljs-comment\">#  MYSQL_LIBRARIES   - List of libraries when using MySQL.<\/span>\r\n<span class=\"hljs-comment\">#  MYSQL_FOUND       - True if MySQL found.<\/span>\r\n\r\nIF (MYSQL_INCLUDE_DIR)\r\n  <span class=\"hljs-comment\"># Already in cache, be silent<\/span>\r\n  SET(MYSQL_FIND_QUIETLY TRUE)\r\nENDIF (MYSQL_INCLUDE_DIR)\r\n<span class=\"hljs-comment\">#\u4ece\u4e0b\u9762\u90a3\u4e24\u4e2a\u8def\u5f84\u627emysql.h\uff0c\u5c06\u627e\u5230\u7684\u8def\u5f84\u653e\u5230MYSQL_INCLUDE_DIR\u8fd9\u4e2a\u53d8\u91cf\u4e2d\u3002<\/span>\r\nFIND_PATH(MYSQL_INCLUDE_DIR mysql.h\r\n  \/usr\/local\/include\/mysql\r\n  \/usr\/include\/mysql\r\n)\r\n<span class=\"hljs-comment\">#\u8bbe\u7f6e\u8981\u5bfb\u627e\u7684\u94fe\u63a5\u5e93\u7684\u540d\u5b57\uff0c\u8fd9\u91cc\u5e94\u8be5\u662f\u627elibmysqlclient.so<\/span>\r\nSET(MYSQL_NAMES mysqlclient mysqlclient_r)\r\n<span class=\"hljs-comment\">#\u5c06libmysqlclient.so\u7684\u8def\u5f84\u653e\u5230MYSQL_LIBRARY<\/span>\r\nFIND_LIBRARY(MYSQL_LIBRARY\r\n  NAMES <span class=\"hljs-variable\">${MYSQL_NAMES}<\/span>\r\n  PATHS \/usr\/lib \/usr\/local\/lib\r\n  PATH_SUFFIXES mysql\r\n)\r\n\r\n<span class=\"hljs-comment\">#\u5982\u679c\u4e0a\u9762\u627e\u5230mysql\u7684\u5934\u6587\u4ef6\u548cmysql\u7684\u5e93\u6587\u4ef6\uff0c\u5c31\u5c06MYSQL_FOUND\u8bbe\u4e3a\u771f<\/span>\r\nIF (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY)\r\n  SET(MYSQL_FOUND TRUE)\r\n  SET( MYSQL_LIBRARIES <span class=\"hljs-variable\">${MYSQL_LIBRARY}<\/span> )\r\nELSE (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY)\r\n  SET(MYSQL_FOUND FALSE)\r\n  SET( MYSQL_LIBRARIES )\r\nENDIF (MYSQL_INCLUDE_DIR AND MYSQL_LIBRARY)\r\n\r\n<span class=\"hljs-comment\">#\u5982\u679c\u627e\u5230\u5e76\u4e14\u6ca1\u6709\u8bbe\u7f6eQUIET\uff0c\u5219\u8f93\u51fa\u641c\u5230\u52a8\u6001\u5e93\u8def\u5f84<\/span>\r\n<span class=\"hljs-comment\">#\u5982\u679c\u627e\u4e0d\u5230\u5c31\u8f93\u51fa\u9519\u8bef\u4fe1\u606f<\/span>\r\nIF (MYSQL_FOUND)\r\n  IF (NOT MYSQL_FIND_QUIETLY)\r\n    MESSAGE(STATUS <span class=\"hljs-string\">\"Found MySQL: <span class=\"hljs-variable\">${MYSQL_LIBRARY}<\/span>\"<\/span>)\r\n  ENDIF (NOT MYSQL_FIND_QUIETLY)\r\nELSE (MYSQL_FOUND)\r\n  IF (MYSQL_FIND_REQUIRED)\r\n    MESSAGE(STATUS <span class=\"hljs-string\">\"Looked for MySQL libraries named <span class=\"hljs-variable\">${MYSQL_NAMES}<\/span>.\"<\/span>)\r\n    MESSAGE(FATAL_ERROR <span class=\"hljs-string\">\"Could NOT find MySQL library\"<\/span>)\r\n  ENDIF (MYSQL_FIND_REQUIRED)\r\nENDIF (MYSQL_FOUND)\r\n\r\n<span class=\"hljs-comment\">#\u5c06\u4ed6\u6807\u8bb0\u4e3a\u9ad8\u7ea7\u53d8\u91cf\uff0c\u5177\u4f53\u4ec0\u4e48\u4f5c\u7528\u6ca1\u67e5\u5230<\/span>\r\nMARK_AS_ADVANCED(\r\n  MYSQL_LIBRARY\r\n  MYSQL_INCLUDE_DIR\r\n  )<\/code><\/pre>\n<p>\u6211\u4eec\u53ef\u4ee5\u5c06\u8fd9\u4efd\u4ee3\u7801\u5199\u6210\u4e00\u4e2acmake\u6a21\u5757\uff0c\u7136\u540e\u901a\u8fc7FIND_PACKAGE(&lt; name&gt;)\u53bb\u5f97\u5230\u8fd9\u4e2a\u6a21\u5757\u7684\u5934\u6587\u4ef6\u8def\u5f84\u548c\u94fe\u63a5\u5e93\u8def\u5f84\uff0c\u5f97\u5230\u7684\u8def\u5f84\u4e00\u822c\u4f1a\u5b58\u653e\u5728&lt; name&gt;_LIBRARIES,&lt; name&gt;_INCLUDE_DIR\u8fd9\u4e24\u4e2a\u53d8\u91cf\u4e2d\u3002<br \/>\n\u6211\u53ef\u4ee5\u5c06\u4e0a\u9762\u90a3\u4efd\u4ee3\u7801\u653e\u5230\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\u4e2dFindMySQL.cmake,\u901a\u8fc7\u5728\u4e3bCMakeLists.txt\u4e2dSET(CMAKE_MODULE_PATH dir)\u5c06\u5176\u653e\u5165\u5de5\u7a0b\u7684\u67d0\u4e2a\u76ee\u5f55\u4e2d\u4f9b\u5de5\u7a0b\u4f7f\u7528\uff0c\u7136\u540e\u5c31\u53ef\u4ee5\u8c03\u7528FIND_PACKAGE(MySQL)\u5c31\u53ef\u4ee5\u5f97\u5230mysql\u7684\u5934\u6587\u4ef6\u8def\u5f84\u548c\u52a8\u6001\u94fe\u63a5\u5e93\u8def\u5f84\uff1aMySQL_INCLUDE_DIR, MySQL_LIBRARIES\u3002<\/p>\n<\/div>\n<\/div>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>cmake\u94fe\u63a5MySQL\u5206\u6790 2016\u5e74<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[],"tags":[118],"class_list":["post-1617","post","type-post","status-publish","format-standard","hentry","tag-02-"],"_links":{"self":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/1617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/comments?post=1617"}],"version-history":[{"count":0,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/1617\/revisions"}],"wp:attachment":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/media?parent=1617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/categories?post=1617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/tags?post=1617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}