binary_log_types.h:没有这样的文件或目录

时间:2015-06-06 03:14:53

标签: c++ mysql c

我正在编译一个小的mysql C项目 陷入了以下错误:

 C:\Program Files (x86)\MySQL\MySQL Server 5.7\include/mysql_com.h:22:30: fatal error: binary_log_types.h: No such file or directory.

我在dir binary_log_types.h /b /s驱动器上执行了C:,但我没有找到任何binary_log_types.h文件。

什么是可能的解决方法?

3 个答案:

答案 0 :(得分:2)

经过一些研究后,我发现由于某种原因,mysql 5.7社区安装程序安装中缺少两个文件binary_log_funcs.hbinary_log_types.h

修复:

1)从MySQL Site下载MySQL服务器源代码。

2)解压缩tar档案。 (我为此使用了Winrar)

3)转到你的\ Download \ Location \ Here \ mysql-5.7.7-rc \ mysql-5.7.7-rc \ libbinlogevents \ export \

4)从此文件夹中复制binary_log_funcs.hbinary_log_types.h    将它们粘贴到Path \ to \ your \ mysql \ server \ include。

5)重建Code :: Blocks应用程序。

注意:确保Code :: Blocks有权访问C:目录中的文件和文件夹。此外,这可能是一个临时修复,因为我强烈认为我没有做一个完整的mysql安装,它应该自动包含这些文件。无论如何,我暂时感到高兴:)

答案 1 :(得分:2)

刚刚确认MySQL 5.7.9(64位)中存在此错误:

C:\Program Files\MySQL\MySQL Server 5.7\include\mysql_com.h(22): fatal error C1083: Cannot open include file: 'binary_log_types.h': No such file or directory`  

我在Visual Studio 2013 Update 5中编译时收到此错误消息,该代码基于与MySQL的通信以将数据存储在数据库中。

我的解决方案是sjsam自己答案的变体。转到GitHub MySQL存储库并打开此文件夹/目录:

https://github.com/mysql/mysql-server/blob/5.7/libbinlogevents/export/

该文件夹中有2个文件:

  • binary_log_funcs.h
  • binary_log_types.h

使用文件链接将2个文件保存到您自己的计算机上(或从文件内容中复制文本,然后将文本保存为与原始文件同名的直接文本文件),然后将两个文件放在MySQL中Server 5.7 \ include \文件夹。根据您的配置,这可以是以下两种之一:

C:\Program Files\MySQL\MySQL Server 5.7\include\

C:\Program Files (x86)\MySQL\MySQL Server 5.7\include\

恭喜,您现在已经解决了问题。但我想知道为什么mysql.com的开发人员没有将这两个文件添加到MySQL社区服务器5.7.9安装程序包...

答案 2 :(得分:0)

以下声明来自:http://dev.mysql.com/doc/refman/5.6/en/binary-log.html

表示必须使用正确的参数

启动mysql服务器

使日志存在。

"要启用二进制日志,请使用--log-bin [= base_name]选项启动服务器。如果没有给出base_name值,则默认名称是pid-file选项的值(默认情况下是主机的名称),后跟-bin。如果给出了basename,则服务器会将该文件写入数据目录,除非为basename指定了一个前导绝对路径名以指定其他目录。建议您明确指定基本名称,而不是使用主机名的默认值;请参阅第B.5.8节“MySQL中的已知问题”,原因如下。 "

同一网页上有很多相关信息。