热门搜索 :
考研考公
您的当前位置:首页正文

Cmake-MySQL编译参数说明

2023-11-11 来源:东饰资讯网

(来源于MySQL官方手册)https://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

Formats Description DefaultIntroduced Removed   ##格式描述默认导入删除BUILD_CONFIG  Use same build options as official releases ##b使用相同的编译选项为正式版本CMAKE_BUILD_TYPE  Type of build to produce RelWithDebInfo  ##体型产生relwithdebinfoCMAKE_CXX_FLAGS  Flags for C++ Compiler   ##旗帜的C++编译器CMAKE_C_FLAGS    Flags for C Compiler  ##c标志的C编译器CMAKE_INSTALL_PREFIX    #安装基础目录COMPILATION_COMMENT    ##编译环境CPACK_MONOLITHIC_INSTALL #是否包构建生产单文件了DEFAULT_CHARSET          ##默认服务器字符集latin1DEFAULT_COLLATION      #默认新建数据库字符集-DWITH_SYMVER16         ##是否libmysqlclient.so.18包含symver 16和18下5.6.31符号。ENABLED_LOCAL_INFILE   ##是否启用本地数据导入ENABLED_PROFILING     ##是否启用查询分析代码ENABLE_DEBUG_SYNC      ##是否启用5.6.36调试同步支持ENABLE_DOWNLOADS      ##是否下载任意文件ENABLE_DTRACE         ##是否包括DTrace支持ENABLE_GCOV            ##是否包括gcov支持5.6.3ENABLE_GPROF          ##使gprof(优化Linux构建只)关闭5.6.6INNODB_PAGE_ATOMIC_REF_COUNT    #启用或禁用页面引用INSTALL_BINDIR          ##用户可执行目录前缀/箱INSTALL_DOCDIR           ##文件目录前缀/文档INSTALL_DOCREADMEDIR          ##自述文件目录前缀INSTALL_INCLUDEDIR           ##头文件目录前缀/包括INSTALL_INFODIR           ##信息文件目录前缀/文档INSTALL_LAYOUT             ##选择预定义的安装布局独立INSTALL_LIBDIR            ##目录前缀/ lib库文件INSTALL_MANDIR           ##手册页目录前缀/人INSTALL_MYSQLSHAREDIR            ##共享数据目录前缀/分享INSTALL_MYSQLTESTDIR             ## MySQL测试目录前缀/ MySQL测试INSTALL_PLUGINDIR          ##插件目录前缀/ lib /插件INSTALL_SBINDIR            ##服务器可执行目录前缀/箱INSTALL_SCRIPTDIR               ##脚本目录前缀/脚本INSTALL_SECURE_FILE_PRIVDIR        #隐私文件的安全INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR  #隐私目录INSTALL_SHAREDIR                    #安装目录INSTALL_SQLBENCHDIR                   #SQL目录前缀INSTALL_SUPPORTFILESDIR            #额外的支持文件目录前缀/支持文件MEMCACHED_HOME                    #缓存路径MYSQL_DATADIR                  #数据目录MYSQL_MAINTAINER_MODE              #是否启用MySQL保持特定的发展环境MYSQL_PROJECT_NAME                   #MySQL版本MYSQL_TCP_PORT                    #Mysql默认端口号3306MYSQL_UNIX_ADDR                    #Unix套接字文件OPTIMIZER_TRACE                    #是否支持优化跟踪SUNPRO_CXX_LIBRARY               # 客户端链接库SYSCONFDIR                   #文件目录选项WITHOUT_SERVER                  #服务器是否关闭WITHOUT_xxx_STORAGE_ENGINE    ##排除存储引擎XXX从建立WITH_BUNDLED_MEMCACHED           #使用memcached缓存WITH_CLASSPATH                   #使用MySQL集群连接器构建java。默认为空字符串。WITH_DEBUG                ##是否支持调试功能WITH_DEFAULT_COMPILER_OPTIONS   #是否使用默认编译选项WITH_DEFAULT_FEATURE_SET       #是否使用默认设置功能WITH_EMBEDDED_SERVER         #是否建立了嵌入式服务器WITH_EMBEDDED_SHARED_LIBRARY   #是否建立一个共享的嵌入式服务器库WITH_ERROR_INSERT               #额外字符集WITH_INNODB_MEMCACHED             #是否产生了memcached共享库。WITH_LIBWRAP                      ##是否包括LibWrap(tcp wrappers)支持下WITH_NDBCLUSTER                   #建立NDB存储引擎WITH_NDBMTD                #开启多线程WITH_NDB_BINLOG                #启用二进制日志默认情况下通过对mysqld。WITH_NDB_DEBUG                #生成调试版本测试或故障排除了WITH_NDB_JAVA                #开启ClusterJ支持java。默认启用。只支持MySQL集群。WITH_NDB_PORT                ##默认端口由管理服务器建立与应用

本文出自 “逗哥笔记” 博客,请务必保留此出处http://qiuyt.blog.51cto.com/1229789/1923189

Cmake-MySQL编译参数说明

标签:编译参数   cmake   

小编还为您整理了以下内容,可能对您也有帮助:

mysql编译时哪个参数可以更改mysql默认字符集

首先,MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容
  及编码,后者是对前者进行比较操作的一些规则。这两个参数集可以在数据库实例、单个数据库、表、列等四个级
  别指定。
  对于使用者来说,一般推荐使用utf8编码来存储数据。而要解决乱码问题,不单单是MySQL数据的存储问题,还
  和用户的程序文件的编码方式、用户程序和MySQL数据库的连接方式都有关系。

  首先,MySQL有默认的字符集,这个是安装的时候确定的,在编译MySQL的时候可以通过DEFAULT_CHARSET=
  utf8和DEFAULT_COLLATION=utf8_general_ci这两个参数(MySQL5.5版本,5.1版本用--with-charset=
  utf8 --with-collation=utf8_general_ci)来指定默认的字符集为utf8,这也是最一劳永逸的办法,这样指定后,
  客户端连接到数据库的编码方式也默认是utf8了,应用程序不需要任何处理。

mysql编译时哪个参数可以更改mysql默认字符集

首先,MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容
  及编码,后者是对前者进行比较操作的一些规则。这两个参数集可以在数据库实例、单个数据库、表、列等四个级
  别指定。
  对于使用者来说,一般推荐使用utf8编码来存储数据。而要解决乱码问题,不单单是MySQL数据的存储问题,还
  和用户的程序文件的编码方式、用户程序和MySQL数据库的连接方式都有关系。

  首先,MySQL有默认的字符集,这个是安装的时候确定的,在编译MySQL的时候可以通过DEFAULT_CHARSET=
  utf8和DEFAULT_COLLATION=utf8_general_ci这两个参数(MySQL5.5版本,5.1版本用--with-charset=
  utf8 --with-collation=utf8_general_ci)来指定默认的字符集为utf8,这也是最一劳永逸的办法,这样指定后,
  客户端连接到数据库的编码方式也默认是utf8了,应用程序不需要任何处理。

cmake 后面那些参数该怎么写

在工程搭建时,可能会有将静态库链接成动态库的需求,如出于代码保护的角度,某些模块会发布.a扩展名的静态库,我们要将多个这样的静态库链接成一个动态库。但与直接link目标文件不同的是,ld以默认参数执行时,并把静态库中没有用到的函数过滤掉,导致生成的so并未包含所要的函数,因此要加上--whole-archive参数,以保证所有的函数都包含在生成的so中。 在使用cmake时,CMakeLists.txt的写法如下:add_library( ${MODULE_NAME} SHARED ${CMAKE_SOURCE_DIR}/builttime.c #要生成一个so,至少要包含一个源文件,实在没有可以把库的编译时间戳打到这儿。)target_link_libraries( ${MODULE_NAME} ${${MODULE_NAME}_EXTRA_LDFLAGS} "-Wl,--whole-archive" #告诉编译器,从这里开始,所有的库的内容都包含到so中 ${LOCAL_MODULES} #可以是以源代码生成的静态库 ${PREBUILT_MODULES} #可以是预先生成的静态库 "-Wl,--no-whole-archive" #告诉编译器,从这里开始,以后的库的内容不用都包含到so中)

Top