cygwin不包含mysql.h ..我怎样才能在cygwin中获取它?

时间:2010-05-12 11:43:22

标签: c++ eclipse cygwin

我的c ++程序需要mysql.h。

3 个答案:

答案 0 :(得分:4)

MySQL尚未进入Cygwin软件包存储库的主要原因是在Cygwin下运行MySQL服务器没有什么意义,因为这只会减慢它的速度并且不会提供任何补偿性好处。

但实际上,您只需要C API客户端库。它很容易自己构建它。

首先,从mysql.com下载源代码tarball。

然后在Cygwin的提示下,说:

$ tar xvzf /wherever/it/is/mysql-5.1.46.tar.gz
$ cd mysql-5.1.46
$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
    --infodir=/usr/share/info --mandir=/usr/share/man \ 
    --disable-shared --without-{debug,readline,libedit,server}
$ make
$ make install

那应该只构建和安装C客户端库部件,这应该让你的其他代码构建。

该configure命令最关键的部分是--without-*位。没有它,它会尝试构建所有内容,这在我上次尝试时无效。你不能责怪MySQL,Inc,因为你不想修改服务器中特定于Cygwin的bug,因为你想要使用原生二进制文件。运行链接到Cygwin C库的客户端对于完全本机服务器没有问题,只不过在网络上的两个完全不同的操作系统上运行客户端和服务器。

顺便提一下,在启动并运行C库之后,您可能需要查看MySQL++。 (免责声明:我是MySQL ++的主要维护者。)

答案 1 :(得分:0)

以下是MySQL团队提供的Official MySQL connector for C++

从我发布的链接中,您可以下载适用于您的操作系统的安装程序(Windows我认为,因为您提到了cygwin)。

我从未使用Eclipse,但无论您使用哪种C ++编译器,都应能够指定其他include / lib目录。在这里,您必须添加一个指向已安装的MySQL C ++连接器文件的条目。

我自己从未尝试过使用cygwin。

答案 2 :(得分:0)

同时,cygwin中有一个名为libmysqlclient-devel的包。它包含mysql.h