Cmake 使用mingw的mysqlclient

Cmake 使用mingw的mysqlclient,cmake,mingw,libmysql,Cmake,Mingw,Libmysql,我想在通过mingw交叉编译到Windows的项目上使用libmysqlclient。 为了链接我的程序,我需要“mysqlclient.a”,但我无法获得它 我尝试在windows for mysql客户端上为mingw创建makefiles,但配置步骤失败 我终于能够建造它了。。。在Windows上使用mingw 以下是步骤: 安装cygwin 在cygwin中安装make、gcc、g++、cmake和cygidn软件包 下载并解压缩libmysql源代码 编辑文件字符串/dtoa.c,并

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

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


我终于能够建造它了。。。在Windows上使用mingw

以下是步骤:

  • 安装cygwin
  • 在cygwin中安装make、gcc、g++、cmake和cygidn软件包
  • 下载并解压缩libmysql源代码
  • 编辑文件字符串/dtoa.c,并将所有出现的
    dtoa
    替换为类似
    \u dtoa
    的内容,以防止冲突
  • 将cd放入软件包底部
  • 在mingw中键入cmake-G“Unix Makefiles”
  • 制造
  • 安装
  • 编辑C:\cygwin\usr\local\mysql\include\mysql.h并在
    \define\u mysql\u h
    之后添加
    \include/*Bug win32*/
  • 您可以在“C:\cygwin\usr\local\mysql”中获取文件
  • 我得到了“libmysqlclient.a”和“liblibmysql.dll.a”,并将我的程序与它们链接,但仍然得到链接器错误。怎么了? 但我仍然得到链接错误


    strings libmysqlclient.a | grep(mysql)ping
    返回一个结果,而链接器抱怨未定义对`\u mysql的引用_ping@4“

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

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

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

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

    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
    
    你能比“经常”更精确吗?