(来源于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中)