解决编译MySQL时的问题
编译MySQL时出现的一些问题可能是由于配置不当造成的。因此,解决方法是重新配置。
如果在上一次运行后立即运行CMake,则有可能会使用从上次调用中收集到的信息。此信息存在于CMakeCache.txt中。当CMake开始时,它会查找此文件并读取其内容(如果存在),假设信息是正确的。当重新配置文件时,此假设变为错误。
每次运行CMake时,都必须再次执行’make’才能重新编译。首先可以删除以前构建生成的旧对象文件,因为它们使用了不同的配置选项进行编译。
为了防止旧的对象文件或配置信息被当前安装使用,需要在重新运行CMake之前运行以下命令-
阅读更多:MySQL 教程
在Unix上
shell> make clean
shell> rm CMakeCache.txt
在Windows上
shell> devenv MySQL.sln /clean
shell> del CMakeCache.txt
如果在源树之外构建,则需要删除并重新创建构建目录,然后再次运行CMake。在一些系统上,由于系统包含文件的差异,可能会发生警告。
要指定使用哪个C和C++编译器,请定义CC和CXX环境变量。如下所示-
shell> CC=gcc
shell> CXX=g++
shell> export CC CXX
可以使用CMAKE_C_FLAGS和CMAKE_CXX_FLAGS CMake选项指定用户自己的C和C++编译器标志。
要查看用户需要指定哪些标志,可以调用mysql_config并使用–cflags和–cxxflags选项。
要查看编译阶段执行的命令,请在使用CMake配置MySQL后,运行‘make VERBOSE=1’而不是运行‘make’。如果编译失败,请检查MYSQL_MAINTAINER_MODE选项是否已启用。此模式会导致编译器警告变成错误,因此禁用它可能会启用编译过程。