解决许多问题的解决方案涉及重新配置。如果要重新配置,请注意以下内容:
如果CMake.在此之前已运行后运行,它可能会使用其先前的调用期间收集的信息。此信息存储在
cmakecache.txt.
。什么时候CMake.开始,它寻找该文件并在假设信息仍然正确时读取其内容。重新配置时,该假设无效。每次跑步CMake.,你必须跑制作再次重新编译。但是,您可能希望首先从以前的构建中删除旧对象文件,因为它们是使用不同的配置选项编译的。
要防止使用旧对象文件或配置信息,请在重新运行之前运行以下命令CMake.:
在Unix上:
shell>制作干净的shell> rm cmakecache.txt
在Windows上:
shell> devenv mysql.sln / clean shell> del cmakecache.txt
如果在源树之外构建,请在重新运行之前删除并重新创建构建目录CMake.。有关在源树外建筑的说明,请参阅如何使用cmake构建mysql服务器。
在某些系统上,由于系统的差异包括文件,可能会发生警告。以下列表描述了在编译MySQL时最常发现的其他问题:
要定义要使用的c和c ++编译器,可以定义
CC.
和CXX.
环境变量。例如:shell> cc = gcc shell> cxx = g ++ shell>导出cc cxx
要指定您自己的C和C ++编译器标志,请使用
cmake_c_flags.
和cmake_cxx_flags.
CMAKE选项。看编译器标志。要查看您可能需要指定的标志,请调用mysql_config与之
- cfflags.
和--cxxflags.
选项。使用后,查看在编译阶段期间执行的命令CMake.配置MySQL,运行制作verbose = 1而不是只是制作。
如果编译失败,请检查是否
mysql_maintainer_mode.
选项已启用。此模式会导致编译器警告成为错误,因此禁用它可能会使编译继续。如果您的编译失败了错误,如以下任何一种错误,则必须升级版本制作到GNU.制作:
使:读者的致命错误:Makefile,第18行:宏观组成宏分配
或者:
使:文件`makefile'行18:必须是分隔符(:
或者:
pthread.h:没有这样的文件或目录
已知Solaris和FreeBSD有麻烦制作程式。
GNU.制作已知3.75工作。
这
sql_yacc.cc.
文件是生成的sql_yacc.yy.
。通常,构建过程不需要创建sql_yacc.cc.
因为mysql附带了一个预生的副本。但是,如果您确实需要重新创建它,您可能会遇到此错误:“sql_yacc.yy”,行XXX.致命:默认动作导致潜力......
这是您版本的标志YACC.缺乏缺陷。您可能需要安装最近的版本野牛(GNU版本YACC.而不是使用它。
版本的野牛超过1.75可能会报告此错误:
sql_yacc.yy:#####:致命错误:超出最大表大小(32767)
实际上没有超过表大小;错误是由旧版本中的错误引起的野牛。
有关获取或更新工具的信息,请参阅系统要求第1章,从源安装MySQL。