利用DEV-C++ 改造hpc01机上的test_multithread_socket_textsearchbyExampleDoc.cpp

本文介绍如何在DEV-C++环境下配置MySQL支持,包括生成libmysql.a文件的过程及解决连接数据库时遇到的问题。

此项改造工作是为了将原本在集群hpc01节点上的程序,搬到一台Windows机器上运行。

觉得VC太庞大,遂决定采用DEV-C++ 作为开发工具。自己是首次使用它。

一 从hpc01转移到Windows单机平台时采用了DEV-C++,所遇到的问题

使用 DEV-C++ 时,需要在 Project options -> Parameters->linker

中添加

1. c:/Program Files/DEV-CPP/Lib/libws2-32.a(支持程序中的多线程功能)

2. {MySQL HOME}/lib/opt/libmysql.a (支持在程序中连接MySQL数据库)

注:随MySQL安装包带来的libmysql.dll(libmysql.dll)只支持Visual C++开发环境。要利用dlltool.exe(安装DEV-C++时会出现在其安装目录的某一子目录中)对libmysql.dll和libmysql.def两个文件进行加工产生libmysql.a。

 

ContractedBlock.gifExpandedBlockStart.gifCode
dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmysql.a -k

libmysql.def的来源有二:一是来自MySQL的安装目录下的某处,第二是利用下面的命令(需下载Pexports工具 )

 

ContractedBlock.gifExpandedBlockStart.gifCode
 pexports libmySQL.dll > libmySQL.def 

 

另外,在调试程序时发现,需要把libmysql.dll放在Project的根目录下。否则,会出现下面的

 

ContractedBlock.gifExpandedBlockStart.gifCode
 Error connecting to database

Client does not support authentication protocol requested by server, consider upgrading MySQL client.

 

这种错误是由于client 与 server 端不匹配造成的。

二. 从hpc01转移到Windows单机平台时DEV-C++中使用M一SQL时遇到的问题

需要下载mysql-connector-java-5.X.X.zip,解压后把同名的 jar 文件拷贝到{JAVA_HOME}/jre/lib/ext/目录下。

否则出现下面的错误

ContractedBlock.gifExpandedBlockStart.gifCode
com.mysql.jdbc.Driver

 

表现在程序代码中执行到

 

ContractedBlock.gifExpandedBlockStart.gifCode
Class.forName("com.mysql.jdbc.Driver");

 

不能成功执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值