【发布时间】:2011-09-05 00:25:10
【问题描述】:
我想在通过 mingw 交叉编译到 Windows 的项目上使用 libmysqlclient。 为了链接我的程序,我需要“mysqlclient.a”,但我无法获得它。
我尝试在 windows 上为 mysql 客户端创建 mingw 的 makefile,但配置步骤失败。
我终于能够构建它...在 Windows 上使用 mingw。
步骤如下:
- 安装cygwin
- 在你的 cygwin 中安装包 make、gcc、g++、cmake 和 cygidn
- 下载并解压 libmysql 源代码
- 编辑文件 strings/dtoa.c 并将所有出现的
dtoa替换为_dtoa之类的其他内容,以防止冲突 - cd 到软件包库
- 在 mingw 中输入 cmake -G "Unix Makefiles"
- 制作
- 进行安装
- 编辑 C:\cygwin\usr\local\mysql\include\mysql.h 并在
#define _mysql_h之后添加#include <winsock.h> /* Bug win32 */ - 您可以在“C:\cygwin\usr\local\mysql”中获取文件
我得到“libmysqlclient.a”和“liblibmysql.dll.a”并将我的程序与它们链接,但我仍然得到链接器错误。怎么了 ? 但我仍然遇到链接错误!
strings libmysqlclient.a | grep _mysql_ping 返回一个结果,而链接器抱怨未定义对 `_mysql_ping@4' 的引用
【问题讨论】: