在hiredis里使用libevent遇到的错误

2018年7月5日16:03:12

错误 6 error LNK2019: 无法解析的外部符号 _aeWait,该符号在函数 _WSIOCP_SocketSend 中被引用 E:\document\visual_studio_2013\hiredis\redisconnect_test\redisconnect_test\Win32_Interop.lib(win32_wsiocp.obj) redisconnect_test

错误 7 error LNK2019: 无法解析的外部符号 _listAddNodeTail,该符号在函数 _WSIOCP_SocketSend 中被引用 E:\document\visual_studio_2013\hiredis\redisconnect_test\redisconnect_test\Win32_Interop.lib(win32_wsiocp.obj) redisconnect_test

按照网上各种方法都试了,都没有用,后来找到一篇文章windows c++使用hiredis异步操作比较完美的解决了问题。主要操作如下:


  1. 预处理器定义:
  2. _OFF_T_DEFINED
  3. WIN32
  4. LACKS_STDLIB_H
  5. _DEBUG
  6. _CONSOLE
  7. %(PreprocessorDefinitions)
  8. NO_QFORKIMPL
  9. _WIN32_WINNT=0x0501


  1. 入口函数必须是:
  2. int main(int argc, char **argv)
  3. 文件后缀.c 或包含头文件时加extern "C"{
  4. }
  5. 在项目源文件中添加adlist.c ae.c zmalloc.c(这三个文件在redis的src文件夹下)

然后在头文件wchar.h里添加

#include <win32_types.h> //_off_t的定义

程序可以编译通过,但是运行还是有点问题:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章