处理MySQL编译问题


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选项。

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

更新于: 2021年3月9日

141 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告