2015-06-06 16 views
2

我編譯一個小MySQL的C++項目和 卡住了與下面的錯誤:binary_log_types.h:沒有這樣的文件或目錄

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. 

我在C:驅動器做了dir binary_log_types.h /b /s,但我沒有發現任何binary_log_types.h文件等。

什麼是可能的解決方法?

回答

1

經過一番研究,我發現由於某些原因mysql5社區安裝程序安裝中缺少binary_log_funcs.hbinary_log_types.h這兩個文件。

修復:

1)從MySQL Site下載MySQL服務器的源代碼。

2)解壓tar檔案。 (我用WinRAR的這個)

3)轉到您的\下載\位置\這裏\的mysql-5.7.7-RC \ mysql的-5.7.7-RC \ libbinlogevents \出口\

4)從該文件夾中複製binary_log_funcs.hbinary_log_types.h,並將其粘貼到Path \ to \ your \ mysql \ server \ include中。

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

注意:請確保Code :: Blocks有權訪問C:目錄中的文件和文件夾。此外,這可能是一個臨時修復,因爲我強烈地感覺到我沒有做一個完整的mysql安裝,它應該自動包含這些文件。反正我暫時開心:)

0

下面的語句,從:http://dev.mysql.com/doc/refman/5.6/en/binary-log.html

指明瞭MySQL服務器必須使用正確的參數

日誌存在被啓動。 「

」要啓用二進制日誌,請使用--log-bin [= base_name]選項啓動服務器。如果未指定base_name值,則默認名稱是pid-file選項的值是宿主機的名稱),然後是-bin。如果給出了基本名稱,服務器將該文件寫入數據目錄,除非給出的基本名具有前導的絕對路徑名以指定不同的目錄,建議您指定一個基本名稱,而不是使用默認的主機名;請參閱B.5.8節「MySQL中的已知問題」,原因如下。「

在同一網頁上有許多相關信息。

+0

Thankyou爲您的時間。我已經啓用二進制日誌記錄,但仍未解決問題。任何想法在哪裏得到'binary_log_types.h'文件的副本? – sjsam

2

剛剛確認了這個bug的存在,在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編譯更新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 \文件夾中。根據您的配置,這可能是這2個之一:

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安裝程序包...

相關問題