最近项目上需要使用Kafka用户C++ 和Java之间的通讯。
所以需要编译Kafka c++的dll库。
Kafka官方推荐 librdkafka ,其中有win32的源码。故尝试使用VS2017编译此源码。
关于win32的编译 ,github有说明:
需要Zlib和OpenSSL,其中Zlib可以通过NuGet安装,OpenSSL最好手动安装。
1、安装OpenSSL
在网址:https://slproweb.com/products/Win32OpenSSL.html 中下载Win64 OpenSSL v1.0.2q 并安装至 C:\OpenSSL-win64.
2.下载librdkafka 最新的tag版本,使用VS2017 打开
此时应该NuGet应该会自动安装Zlib,如果没有可以使用NuGet管理器手动安装。
但是安装之后会发现Zlib 没有V141(即VS2017)版本,此时编译是不能通过的。
刚好最新的VS2017支持同时安装V140和V141工具集,重新运行installer 安装V140工具集。
安装完成后重新打开工程,就可以指定使用V140工具集。
3.配置OpenSSL的包含库和库目录
4.编译即可生成Kafka的dll
参考:
附件:编译后的dll