win7下MinGW+eclipse+mysql配置

本文介绍了如何在Windows 7环境下配置MinGW、设置环境变量MINGW_HOME,并探讨了Eclipse的不同版本在连接MySQL时的配置差异。在遇到undefined reference错误时,通过reimp和dlltool生成libmysql.a文件解决。同时,文章提到了Eclipse CDT在Windows上的使用体验,认为其不如Java环境成熟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MinGW    我只安装了mingw32-base和msys-base,我是安装在C盘。mingw32-gcc-g++也可以安装,编译的时候只是提示没有找到g++,但不影响运行。

eclipse会引用MINGW_HOME变量,配置环境变量MINGW_HOME=C:\MinGW;

上面的红框变量是eclipse自动建的。MSYS_HOME变量都不用建了。


eclipse,专门下了两个版本的eclipse,感觉不完善,各种问题,下的第一个是eclipse-cpp-helios-SR2-win32,第二个是eclipse-cpp-luna-R-win32,helios的里面界面跟luna里的界面有的不同,而且helios的环境变量配置有问题,添加后不能删除,用的话两个都可以连到mysql,只是配置上界面的位置变了。

添加mysql.h

然后bulid,发现提示undefined reference to `mysql_server_init@12',需要生成mysql.a连接文件,先把reimp.exe和dlltool.exe文件放到MinGW\bin目录下,MinGW\bin要配置到环境变量里,然后跳到libmysql.lib目录下,也就是mysql数据库的lib目录,然后使用reimp根据lib生成a文件

把生成的libmysql.a文件添加到项目中

添加a目录和搜索libmysql.a文件

Error while launching command: gdb --version
Run->Debug Configurations->Debugger->GDB Debugger->Browse
或者Window->Preferences->C/C++->Debug->GDB->GDB Debugger->Browse
选择MinGW\bin下的gdb.exe文件

如果没有这个错误提示直接用默认的gdb即可。

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
static char* server_groups[] = { "embedded", "server", "this_program_server",
		(char*) NULL };
int main() {
	MYSQL mysql;
	MYSQL_RES *res;
	MYSQL_ROW row;
	char sqlcmd[200];
	int unsigned t;
	mysql_library_init(0, NULL, server_groups);//初始化MYSQL数据库
	mysql_init(&mysql);//初始化MYSQL标识符,用于连接
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");//设置编码
	if (!mysql_real_connect(&mysql, "localhost", "root", "111111", "mysql",
			0, NULL, 0)) {
		fprintf(stderr, "无法连接到数据库,错误原因是:%s/n", mysql_error(&mysql));
	} else {
		puts("数据库连接成功");
		sprintf(sqlcmd, "%s", "select * from ME_MENU");
		t = mysql_real_query(&mysql, sqlcmd, (unsigned int) strlen(sqlcmd));
		if (t) {
			printf("查询数据库失败%s/n", mysql_error(&mysql));
		} else {
			res = mysql_store_result(&mysql);//返回查询的全部结果集
			while ((row = mysql_fetch_row(res))) {//mysql_fetch_row取结果集的下一行
				for (t = 0; t < mysql_num_fields(res); t++) {//结果集的列的数量
					printf("%s\t", row[t]);
				}
				printf("\n");
			}
			mysql_free_result(res);//操作完毕,查询结果集
		}
		mysql_close(&mysql);//关闭数据库连接
	}
	mysql_library_end();//关闭MySQL库
	return EXIT_SUCCESS;
}

各种麻烦,感觉eclipse for c/c++没有java在window下成熟,没java的eclipse好用,特别添加外部.h文件,好麻烦,没linux方便。

Eclipse下编写C++程序——CDT环境搭建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值