mingw环境添加mysql开发库

  今天碰巧要用到mysql进行开发,在windows的mingw平台。

0.下载mysql

  http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-noinstall-5.1.73-win32.zip

  下载这个绿色版的。然后解压到D盘下,复制一份ini配置文件,修改部分选项,并启动服务,详细看我以前的博客

  http://www.cnblogs.com/wunaozai/p/3641589.html

1.开发安装完了之后就进行开发,下面这个是一个示例程序

 1 #include <stdio.h>
 2 #include <windows.h>
 3 #include <mysql.h>
 4 #include <winsock2.h>
 5
 6 int main(int argc,char *argv[])
 7 {
 8     MYSQL conn;
 9     int res;
10     mysql_init(&conn);
11     if(mysql_real_connect(&conn,"localhost","root","","test",0,NULL,CLIENT_FOUND_ROWS)) //"root":数据库管理员 "":root密码 "test":数据库的名字
12     {
13         printf("connect success!\n");
14         res=mysql_query(&conn,"insert into test values(‘user‘,‘123456‘)");
15         if(res)
16         {
17             printf("error\n");
18         }
19         else
20         {
21             printf("OK\n");
22         }
23         mysql_close(&conn);
24     }
25     return 0;
26 }

  要把mysql安装程序中的include复制到开发环境中。然后还有构造一个libmysql.a这种静态链接库。
  官方mysql的win发行版是由vc编译,产生的lib无法被mingw链接。链接时会抛出未定义错。

  具体的办法如下 在include文件夹中复制 libmysql.def 到 lib目录,在lib目录执行下面这句

  dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmysql.a -k  (dlltool 工具是mingw自带)

  此时会生成一个libmysql.a文件。然后把这个文件复制到开发环境中,就基本是可以了。

  我们弄好了这些后就编译一下,

  g++ main.cpp -o main.exe -Iinclude -L. -lws2_32 -lmysql

  居然会出现这种错误

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc8HIzrA.o:main.cpp:(.text+0x68): undefined reference to `[email protected]4‘
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc8HIzrA.o:main.cpp:(.text+0xb1): undefined reference to `[email protected]32‘
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc8HIzrA.o:main.cpp:(.text+0xdf): undefined reference to `[email protected]8‘
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cc8HIzrA.o:main.cpp:(.text+0x11d): undefined reference to `[email protected]4‘
collect2.exe: error: ld returned 1 exit status
make: *** [main] Error 1

  解决如下
  打开libmysql.def修改对应出错的地方如

  就像这样,在后面手动增加数字,然后重复上面的操作,重新用dlltool生成一次libmysql.a链接库

  到这里就可以用了。

参考资料

http://www.cnblogs.com/cy163/archive/2009/10/03/1577812.html

时间: 2024-10-12 18:43:29

mingw环境添加mysql开发库的相关文章

搭建PHP开发环境 apache+MySQL+PHP 安装phpMyAdmin模块

该博文参考的资料来源于: http://wenku.baidu.com/view/0e4c569ddd3383c4bb4cd267.html http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html http://www.admin10000.com/document/54.html http://blog.csdn.net/zutsoft/article/details/21651041 昨天花了差不多一天的时间,跳过无数“坑”

MySQL生产库开发规范

MySQL开发规范 文件状态:[  ] 草稿[√] 正式发布[  ] 正在修改 文件标识:  当前版本: V1.0 作    者: 贺磊 完成日期: 2016-05-24 变更记录序号 修改日期 修改内容 修改人 审核人 批准人 批准日期1 2016-05-24 MySQL开发规范 贺磊 MySQL开发规范1. 简介持续借鉴.收集并整理一些开发规范和技巧,期望能更充分利用MySQL的特性,得到更好的性能.规范是死的,人是活的.现在定义的规范,是为以后推翻准备的.1.1 目的提供给开发人员参考,方

QT creator+OpenCV2.4.2+MinGW 在windows下开发环境配置

由于项目开发的原因,需要配置QT creator+OpenCV2.4.2+MinGW开发环境,现对配置方法做如下总结: 1.  下载必备软件 QT SDK for Open Source C++ development on Windows(在google上搜索一下官方网站即可找到) OpenCV 2.4.2:目前最新的OpenCV版本,安装之后的目录下面有源码和个版本的lib和dll,不过为避免出现问题,还是自己编译吧. http://sourceforge.net/projects/open

在mac OS X中配置python mysql开发环境

1. 首先要下载安装mysql,下载地址: http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.19.tar.gz 解压: tar -xzvf mysql-5.6.19.tar.gz 然后下载gmock,编译mysql时需要用到: https://googlemock.googlecode.com/files/gmock-1.7.0.zip 解压到指定目录 <span style="font-size:14px;">unzi

mysql GTID主从复制(主库在线,添加新丛库)

要求: 1.         主库上线,主库不停止服务的前提下做主从复制 2.         新添加一个丛库 操作: 1.         在主库导出数据(主库正常运行): 2.         将主库的sql文件传到丛库: 3.         丛库恢复数据库: 4.         在主服务器上,创建复制账号,赋权限 Mysql > GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'3.9.8.%' IDENTIFIED BY 'replpass'

CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK

对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此文只讲一个大体流程即可. 一.准备工作: Linux系统: CentOS release 6.4: Tomcat: apache-tomcat-8.0.9.tar.gz:下载:http://dev.mysql.com/downloads/ MySQL:mysql-5.1.73-3el6-5.src.

Linux环境下MySQL基础命令----查看、创建、删除库和表

案例二,查看数据库 MySQL是一套数据库管理系统,支持运行多个库,每个库相当于一个容器,存放着许多表.数据就存在这些表中,所以查看.创建.删除库和表,在工作中必不可少. 一,查看 1,查看当前服务器中有哪些库 使用命令:SHOW DATABASES;          //查看库信息 2,查看当前使用的库中有哪些表 使用命令: USE mysql;                                 //使用USE命令切换到名为mysql的表中 使用命令: SHOW TABLES;

centos7 php开发环境安装-mysql

MySQL安装 1.安装cmake(作为mysql的安装工具) tar -zxvf cmake-3.8.0.tar.gz cd cmake-3.8.0 ./bootstrap gmake gmake install 2.安装boost_1_59_0 tar -zxvf boost_1_59_0.tar.gz cd boost_1_59_0 ./bootstrap.sh ./b2 ./b2 install 3.创建用户.配置目录 添加mysql用户和所属组 /usr/sbin/groupadd m

NodeJS+Express+MySQL开发小记(2):服务器部署

http://borninsummer.com/2015/06/17/notes-on-developing-nodejs-webapp/ NodeJS+Express+MySQL开发小记(1)里讲过在本地搭建 NodeJS 网站的若干细节.本人最近在阿里云服务器上面按最低配租了4个月的云服务器,所以想试着把这个项目部署到云上.云服务器操作系统是Ubuntu 14.04 LTS.之前一直在Windows下做开发,对于Linux下的环境搭建.配置还不是很熟悉,搭建的过程中学到很多东西. 本文简单记