2012-01-02 73 views
2

我只是有一個關於連接C到MySQL的問題。 那麼,我已經有一個現有的MySQL服務器安裝在我的系統上,但是當我試圖在頭文件中運行代碼#include <mysql.h>時,它說該路徑不存在。所以,我把我的MySQL的包括文件夾放到我的編譯器的「includes」文件夾中,使得這個代碼:#include <include/mysql.h>。在目前爲止,編譯器識別它,但給了我一堆我不知道是什麼的錯誤。MySQL和C編程

有沒有其他辦法呢?

+0

我覺得格式吞下了一塊你的問題(的名字你的包含文件)和你得到了什麼錯誤?你究竟需要什麼替代品? – codeling 2012-01-02 13:13:27

+1

如果您在問題中添加了哪些錯誤,我們可以幫助您更好。 – 2012-01-02 13:15:17

+0

你能解釋更多嗎?它似乎是一個Makefile錯誤。檢查你的Makefile和簡化你的問題,我們不能看到你的腦海裏 問候.. – iyasar 2012-01-02 13:19:47

回答

4

在您的gcc命令中附加$(mysql_config --libs)$(mysql_config --cflags)

你需要包含頭文件和鏈接庫。對於mysql,你可以使用mysql_config命令找到它們。如果您已正確安裝了庫和開發頭文件,則此命令可用。 mysql_config --cflagsmysql_config --libs將顯示哪些包括路徑和庫需要。

1

我猜,當你說你正在運行的代碼,你實際上是試圖編譯和構建。

如果是這樣的話,最有可能的問題是,你編譯器,你還沒有定義MySQL的頭文件位置的位置。例如,對於gcc,當您運行編譯器時,頭文件位置在命令行中定義。

+0

我不能給所有的140個錯誤和19個警告,但這是出現第一個:[錯誤] C:\ PROGRA〜1 \ C-FREE〜1 \ MinGW的\包括\ mysql的\ mysql_com.h:「套接字」 – Aldee 2012-01-02 13:20:55

+0

之前語法錯誤是的,如果你看那個johntotetwoo張貼您將在輸出部分通知「鏈接-I:291:錯誤在/ usr /包括/ MySQL的」。這爲編譯器定義了MySQL頭文件的位置。從你的錯誤信息看來,它看起來像mingw找不到mysql.h的位置。你在Windows上運行,所以你不能完全使用這個例子,但是你可以看看mingw的文檔來弄清楚如何包含正確的路徑。 – 2012-01-02 13:25:04

2

syntax error before "SOCKET"錯誤解釋in this blog post。總之,你需要在mysql.h之前包含<winsock.h>。