在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的定義

程序可以編譯通過,但是運行還是有點問題:



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