ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用Lccwin32进行MySQL开发(转)

使用Lccwin32进行MySQL开发(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-05-27 17:39:07 0 删除 编辑

我将通过一个简单的例子演示如何通过Lccwin32进行MySQL的开发。重点的地
方不是代码部分,而是编译器的配置lccwin32本身的IDE编辑器部分对中文的
支持等于0,并且在头文件引用路径设置上存在bug,我们要手工处理!这也是
我认为写这篇笔记的重要性。(我从来不认为我写的东西是什么文章,我还没
那种分量。^^||)

刚才提到了lccwin32编辑器有bug,我们需要手工修改编译器产生的makefile
文件否则根本无法编译。

假设你是采用默认路径,则lccwin32编辑器自动产生的makefile文件中应该包
含类似子段:

CFLAGS=-I"c:lccinclude" -O -p6 -unused -ansic

我们如果直接从编辑器添加多头文件引用路径会产生错误,因此我们手工添加
路径变成下边这种形式:

CFLAGS=-I"c:lccinclude" -I"c:mysqlinclude" -O -p6 -unused -ansic

ok!第一个问题头文件引用解决了。

现在我们开始解决下一个问题库文件(.lib)。windows的mysql库文件采用vc5编
译,我们要先利用lccwin32附带的库转换工具进行转化。转换之后lccwin32就可
以正常识别此库文件。那么重要的问题是我们如何引入库文件。Lccwin32中我们
可以使用两种方法,第一种方法就是从编辑器的库引用中直接敲入库名称;另外
一种就是利用编译器的预处理器伪指令#pragma lib "库"。我推荐采用第二种,
因为开发过程中我们需要debug版库文件进行debuger,实际发行中为了效率我们
则需要用opt版生成最终发行文件,在lccwin32这套环境中直接在编辑器中进行设
置是不明智的!

现在我们解决了头文件和库文件的引用,实际上已经没有什么问题。一个简简单
单的例子如下:

#pragma lib sql.lib>
#include
#include "mysql.h"

MYSQL *myData;

int main(int argc, char *argv[])
{
char userid[20];
strcpy(userid, "root"); // 账号
char password[20];
strcpy(password, ""); // 密码
char host[20];
strcpy(host, "localhost"); // 主机
char dbName[10];

strcpy(dbName, "test"); // 数据库
if ( (myData = mysql_init((MYSQL*) 0)) &&
mysql_real_connect(myData, host, userid, password, dbName, MYSQL_PORT, NULL, 0))
printf("Mysql ready ");
else
exit(0);
mysql_close( myData ) ;
return 1;
}

如果完全依照本文,已经产生一个3.03kb或13.03kb(debuger)的可以执行文件。顺便说,
我不知道现在还有比拼产生的可执行文件体积不。mysql官方例程用lccwin32编译后体积
只有vc产生的可执行文件大小的1/5!


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122823/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    2753
  • 访问量
    2007589