2012-01-02 53 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>。