VS2012+mysql

工具:vs2012,mysql5.0

操作系统:win64位

首先打开vs2012新建一个c++工程(空工程就好,自己在源文件中添加一个cpp文件,用于写连接的代码),如下图所示:

 

设置一些引用文件的环境变量,点击项目->属性->vc++目录
然后“include目录”(包含目录)那把“C:\ProgramFiles\MySQL\MySQL Server 5.5\include”给加进来 
再然后“lib目录”(库目录)那里把“C:\ProgramFiles\MySQL\MySQL Server 5.0\lib”和“C:\ProgramFiles\MySQL\MySQL Server 5.0\lib\debug”也一起加进来。以上三个文件在mysql 的安装目录下(默认在C:\ProgramFiles,或有不同)

解释一下以上三个文件的作用:

在访问数据库时要调用mysql的头文件,在其安装目录的include文件夹里;

在编译和连接时:(转)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够    了。 在开发和调试阶段,当然最好都有。 一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll     文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。如果只有lib文件,那    么这个lib文件是静态编译出来的,索引和实现都在其中。静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺    点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。 
1. 编译是通过静态链接库(lib)去找到接口的。
2. #pragma comment (lib, "libmysql.lib")
    #pragma comment (lib, "mysqlclient.lib")


基本上做完以后的工作就可以连接mysql数据库了!

测试代码如下:

[cpp]  view plain  copy
  1. #include <stdio.h>  
  2. #include <string.h>  
  3. #include <algorithm>  
  4. #include <iostream>  
  5. #include "winsock.h"  
  6. #include "mysql.h"  
  7. using namespace std;  
  8. #pragma comment (lib, "libmysql.lib")  
  9. #pragma comment (lib, "mysqlclient.lib")  
  10.   
  11. int main()  
  12. {  
  13.     //connectionparams  
  14.     char *host = "localhost";  
  15.     char *user = "root";//mysql的用户名  
  16.     char *pass = "123456";//你的mysql服务器密码  
  17.     char *db = "MySql";  
  18.     unsigned int port = 3306; //server port  
  19.     MYSQL *sock;  
  20.     sock=mysql_init(0);  
  21.     if(sock &&mysql_real_connect(sock,host,user,pass,db,0,NULL,0))  
  22.     {  
  23.         cout<<"connect mysqlsucceed!"<<endl;  
  24.     }  
  25.     else  
  26.     {  
  27.         cout<<"I'm sorry to tell you that you wrong!"<<endl;  
  28.     }  
  29.     getchar();  
  30.     //input 1 or 2 or 3  
  31.     return 0;  
  32. }  

如果是32位操作系统以上步骤就足够了。我的电脑是64位,vs2012和mysql都是64位的,因此要修改一下项目的默认设置,否则会出现:

error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_query@8,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用

等无法解析外部符号的错误。

点击项目->属性->配置管理器

活动解决方案平台,下拉选新建,出现一个新的对号框,在键入选择新平台中选择X64


然后重新编译就OK了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值