处理编译 MySQL 时出现的问题

mysqlmysqli database

编译 MySQL 时出现一些问题可能是由于配置不正确造成的。因此,解决方案是重新配置。

如果 CMake 在上次运行后立即运行,则有可能它会使用从上次调用中收集的信息。此信息存在于 CMakeCache.txt 中。当 CMake 开始时,它会查找此文件并读取内容(如果存在),假设信息正确。当重新配置文件时,此假设就会出错。

每次运行 CMake 时,都必须再次执行 ‘make’ 进行重新编译。可以先删除以前构建的旧目标文件,因为它们将使用不同的配置选项进行编译。

为了防止当前安装使用旧的目标文件或配置信息,需要在重新运行 CMake − 之前运行以下命令

在 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

要指定用户自己的 C 和 C++ 编译器标志,可以使用 CMAKE_C_FLAGS 和 CMAKE_CXX_FLAGS CMake 选项。

要查看用户需要指定哪些标志,可以调用 mysql_config 以及 −−cflags 和 −−cxxflags 选项。

要查看在编译阶段正在执行哪些命令,请运行 ‘make VERBOSE=1’而不是在使用 CMake 配置 MySQL 后运行‘make’。如果编译失败,请检查 MYSQL_MAINTAINER_MODE 选项是否已启用。此模式会导致编译器警告变为错误,因此禁用它可能会使编译得以进行。


相关文章