我正在编译一个小的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文件。
什么是可能的解决方法?
答案 0 :(得分:2)
经过一些研究后,我发现由于某种原因,mysql 5.7社区安装程序安装中缺少两个文件binary_log_funcs.h
和binary_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.h
和binary_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个文件:
使用文件链接将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中的已知问题”,原因如下。 "
同一网页上有很多相关信息。