刚开始在windows下使用c++访问reids各种报错,经过网上到处搜方案,终于可以在windows下访问redis了,
特将注意事项记录下来:

1.获取redis Window下的开发库源码,从github获取
windows版:https://github.com/MSOpenTech/redis/tree/2.6

2.解压下载的压缩包,进入msvs目录下,用vs2013打开RedisServer.sln解决方案

3.编译hiredis项目,生成hiredis.lib静态库

4.在自己的工程中使用c++ 访问hiredis
(1)设置项目属性 c/c++ -》代码生成为多线程条调试 MTD
(2)将库源码(github上面下载的)中deps\hiredis路径下的头文件,主要是hireids.h包含到自己的路径中
(3)将hiredis.lib, ws2_32.lib两个静态库添加到项目的依赖项中
(4)此时编译会提示类似于_strerror等未定义的错误,需要将redis-2.6\src目录下的win32fixes.h 和win32fixes.c拷贝到自己的工程目录下,并添加到工程文件中参与编译和链接
(5)此时还不够,需要定义几个宏,项目设置-》C/C++ -》预处理器,添加一下宏定义
WIN32 _DEBUG _LIB _WIN32 _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE _CRT_SECURE_NO_DEPRECATE
(6)此时编译还会报错:error C4996, 继续项目设置:连接器 -》 命令行 中添加 /NODEFAULTLIB:libcmt.lib
(7)包含头文件 时需要注意, 应该按照如下方式包含:
  #include "hiredis.h"
  #define NO_QFORKIMPL //这一行必须加才能正常使用
  #include "win32fixes.h"

(8) main函数中初始化网络环境
WSADATA wsaData;

WSAStartup(MAKEWORD(2, 1), &wsaData);

(9)现在可以开始写自己的项目代码并访问redis了

参考链接:

http://www.aichengxu.com/view/38284

http://blog.csdn.net/swanabin/article/details/42679361

windows下vs2013使用C++访问redis的更多相关文章

  1. 在Windows下为PHP5.6安装redis扩展

    Redis 安装 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你系统 ...

  2. windows下安装php5.5的redis扩展

    windows下开发用的xampp集成的环境,想装个php-redis扩展,扩展的github地址:  https://github.com/nicolasff/phpredis php_redis. ...

  3. windows下不打开浏览器访问网页的方法

    我们打开电脑,大多时候都是打开浏览器在上网.这都是通过浏览器来实现的,然而windows下有没有办法不通过浏览器也可以像linux那样达到访问网页的目的呢?这当然少不了批处理或者VBScript.然而 ...

  4. 在Windows下为PHP5.5安装redis扩展

    使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本   根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2.5-5.5-ts-vc11-x86.zip和ph ...

  5. [转载]在Windows下为PHP5.6安装redis扩展和memcached扩展

    一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...

  6. 在Windows下为PHP5.6安装redis扩展和memcached扩展

    一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...

  7. windows下通过批处理脚本启动redis

    三种启动方式的特点: 第一种方式 :根目录之命令窗口启动 特点:每次启动都要进入到redis的根目录,比较繁琐,并且占用一个窗口 第二种方式:bat脚本便捷启动 特点:可放在桌面便捷启动,占用窗口 第 ...

  8. [转载]windows下PHP + Nginx curl访问本地地址超时卡死问题的解决方案

    原因: windows 下 nginx+php环境,不支持并发. 解决方案: 1.在配置nginx vhost时,需要同时运行的网站设置不同的fastcgi_pass的端口号 server { ser ...

  9. Windows下VS2013 C++编译测试faster-rcnn

    [原创帖!转载请注明出处:http://www.cnblogs.com/LaplaceAkuir/p/6445189.html] 本人最近研究faster-rcnn,在ubuntu成功跑通matlab ...

随机推荐

  1. android常见错误-

    将library中的报错项删除,然后点击[add]正确的appcompat

  2. MST最小生成树及克鲁斯卡尔(Kruskal)算法

    最小生成树MST,英文名如何拼写已忘,应该是min spaning tree吧.假设一个无向连通图有n个节点,那么它的生成树就是包括这n个节点的无环连通图,无环即形成树.最小生成树是对边上权重的考虑, ...

  3. UpdatePanel的用法

    UpdatePanel控件也是Ajax里用得最多的控件之中的一个,UpdatePanel控件是用来局部更新网页上的内容,网页上要局部更新的内容必须放在UpdatePanel控件里,他必须和上一次说的S ...

  4. [JavaScript]转--如何让JS代码高大上

    原文出处:http://www.cnblogs.com/wenber/p/3630373.html 1,创造简短的写法 你可以这么写: 1 var slice = Array.prototype.sl ...

  5. QT连接多种数据库f方法及测试

    QT提供了对多种数据库的访问支持,对SQL Server也可以通过ODBC来进行访问.要想顺利访问SQL Server. 首先要保证以下几点:1. QT编译时已经编译了QtSql2. 编译了ODBC插 ...

  6. codereview介绍

    1. 定义: Code review is systematic examination (often known as peer review) of computer source code. I ...

  7. C# 之 AES加密源码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using Exam.Encr ...

  8. Android(java)学习笔记134:Handler用法总结 和 秒表案例

    一.Handler的定义: Handler主要接收子线程发送的数据, 并用此数据配合主线程更新UI,用来跟UI主线程交互用.比如可以用handler发送一个message,然后在handler的线程中 ...

  9. C语言多个源文件编译

    多源文件编译: 新建一个 main.c #include <stdio.h> #include <stdlib.h> int main(){ ,); printf(" ...

  10. posix thread互斥量

    互斥量 互斥量(Mutex)是“mutual exclusion”的缩写.互斥量是实现线程同步,和保护同时写共享数据的主要方法.使用互斥量的典型顺序如下:1. 创建和初始一个互斥量 2. 多个线程尝试 ...