我的c ++程序需要mysql.h。
答案 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
。