最近有需求,程序A需要通过socket
与程序B通信,接收程序B的数据,然后写入Redis
,环境是windows,c++,hiredis,winsock
在程序编译过程中碰到一些错误,在此记录下来。
错误如下:
出现错误的原因是,MS
为redis开发windows
版本的redis
中,重定义了一些函数,导致了这些错误,如下:
错误解决方法:
https://github.com/MSOpenTech/redis/issues/225
将包含的hiredis.h
的代码与包含winsock2.h
的代码,分开写在两个源代码文件中,然后重新编译即可。
另外,如果程序多重库链接错误,可能需要强制忽略多余的库链接(此种方法比较不一定适合,但在我的代码中管用)