mysql++编译记录

版本:

系统版本: win7 64

mysql++版本:3.2.0    下载地址:http://tangentsoft.net/mysql++/

mysql版本:5.6.14     下载地址:http://dev.mysql.com/downloads/mysql/


编译步骤:

一. mysql++编译步骤

1. 解压mysql,注意mysql版本,64和32位。将mysql目录下lib(里面包含libmysql.lib,libmysql.dll,libmysqld.lib,         libmysqld.dll。其中前2个为release版本,后2个为debug版本,在编译软件的时候,需要选择自己软件对应的版          本)  和include目录拷贝出来,这两个目录需要随后期mysql++库一起使用


2. 使用vs2005 - vs2012系列软件打开mysql++, 在附加包含头目录中添加第一步拷贝出的include目录路径;在附加       包含lib库路径中 添加第一步中拷贝出的lib目录(mysql 5.6.14中,debug版本和release版本的libmysql.lib                      libmysql.dll都在同一个lib目录中,早期的mysql版本分别在lib/debug和lib/opt目录中);在依赖lib库中加入mysql         库,如果是           debug版本使用libmysqld.lib,release版本使用libmysql.lib。


3. 编译mysqlpp,我使用的vs2012,在mysql++-3.2.0\vc2012\x64\Debug路径下会生成mysqlpp_d.lib和mysqlpp_d.dll     文件(如果是release会生成mysqlpp.lib和mysqlpp.dll)。使用mysql++-3.2.0目录中的install.hta工具,将                     mysql++的头文件目录释放到指定位置。释放出来的inlude目录和编译生成的lib和dll文件即可以给其他代码使用          了。当然还要附带上第一步中mysql的include和lib目录。


问题记录:

1.   

问题描述:

      编译出mysqlpp_d.lib和mysqlpp_d.dll后,新建测试程序,附加包含头目录中添加mysql中提取的include目录和             mysql++中释放出的include目录。附加包含lib库路径中添加mysql的lib库路径和mysqlpp_d.lib与mysqlpp_d.dll的存       放路径。

      代码内容如下:

      #include <stdio.h>
      #include "mysql++.h"
     #pragma comment(lib, "mysqlpp_d.lib")
     int main()
     {
  mysqlpp::Connection con(false);
  if (!con.connect("domindb", ".", "11", "22", 4567))
  {
return 1;
  }
 return 0;
     }

    提示错误:

    error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl                                                       mysqlpp::Connection::Connection(bool)" (__imp_??0Connection@mysqlpp@@QEAA@_N@Z) referenced in             function main

问题原因:

     win7 64下默认编译出来的lib库为64位,而我们测试程序是32位的,导致连接失败。

修改方案: 

     一. 修改测试程序为X64,编译通过

     二. 编译lib库位32位


备注(方便以后查看):

1. 如果设置编码错误,可能是编译的编译器有什么配置有区别。目前测试成功搭配

   win32(debug):使用vs2012打开目录下2005工程目录,lib选择(libmysql.dll,libmysql.lib),编译选择/MDd

   推测:win32(Release):使用vs2012打开目录下2005工程目录,lib选择(libmysql.dll,libmysql.lib),编译选择/MD

   win64(debug):使用vs2012打开目录下2008工程目录,lib选择(libmysql.dll,libmysql.lib),编译选择/MDd

   推测:win64(Release):使用vs2012打开目录下2008工程目录,lib选择(libmysql.dll,libmysql.lib),编译选择/MD


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值