与mingw的mysqlclient

时间:2011-09-05 00:25:11

标签: cmake mingw libmysql

我想在通过mingw编译到Windows的项目中使用libmysqlclient。 为了链接我的程序,我需要“mysqlclient.a”,但我无法得到它。

我尝试在mysql客户端的windows上为mingw创建makefile,但配置步骤失败。


我最终能够在Windows上使用mingw构建它。

以下是步骤:

  1. 安装cygwin
  2. 在你的cygwin中安装make,gcc,g ++,cmake和cygidn包
  3. 下载&解压缩libmysql源代码
  4. 编辑文件字符串/ dtoa.c并将dtoa的所有出现替换为_dtoa以防止冲突
  5. cd to package base
  6. 在mingw中键入cmake -G“Unix Makefiles”
  7. 使
  8. make install
  9. 编辑C:\ cygwin \ usr \ local \ mysql \ include \ mysql.h并在#include <winsock.h> /* Bug win32 */
  10. 之后添加#define _mysql_h
  11. 您可以在“C:\ cygwin \ usr \ local \ mysql”
  12. 中获取文件

    我得到“libmysqlclient.a”和“liblibmysql.dll.a”并且我将程序与它们链接但我仍然遇到链接器错误。怎么了 ? 但我仍然得到链接错误!

    strings libmysqlclient.a | grep _mysql_ping返回结果,而链接器抱怨未定义对`_mysql_ping @ 4'的引用

2 个答案:

答案 0 :(得分:0)

MinGW和Cygwin通常不兼容。您必须在100%MinGW环境中构建MySQL客户端。

答案 1 :(得分:0)

使用MinGW,建议您使用Windows * .lib文件。

下载并安装适用于Windows平台(32位或64位)的MySQL Connector/C二进制文件

然后相应地编译和链接您的程序:

g++ myprog.cpp \
-I"C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include" \
-L"C:\Program Files\MySQL\MySQL Connector C 6.1\lib" -lmysql