win7下使用vs2015编译librdkafka kafkac++封装库

本文提供了一步一步的指南来编译64位的librdkafka动态库,并详细介绍了所需步骤,包括编译openssl及配置librdkafka项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考以下文章:

openssl编译安装参考
http://blog.youkuaiyun.com/YAOJINGKAO/article/details/53041165?locationNum=10&fps=1

kafka安装版测试参考

http://blog.youkuaiyun.com/u010283894/article/details/77106159

以下为开发编译librdkafka 64位动态库为例。

一、编译前准备


(1)下载 安装 vs2015

(2)下载 安装 ActivePerl5.24.3.2404

下载地址:http://www.activestate.com/activeperl/downloads

(3)(下载源码)openssl1.0.2n

下载地址:https://www.openssl.org/source/

(4)(下载源码)最新 librdkafka

下载地址:https://github.com/edenhill/librdkafka

二、开始编译openssl (编译成功直接进入步骤三)

1.配置编译环境

     按下图打开vs2015开发人员命令提示

       编译64位openssl,执行以下命令

cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
vcvars64.bat

   2.编译

  先进入openssl-1.0.2j目录,我这里以本机解压目录

F:
cd F:\Work\kafka\win\openssl-1.0.2n

配置输出目录和编译类型【编译32位、64位;release、debug有区别】 命令格式如下:

perl Configure [类型] no-asm --prefix="[输出目录]"
参数含义
debug-VC-WIN32编译32位debug版本
VC-WIN32编译32位release版本
debug-VC-WIN64A编译64位debug版本
VC-WIN64A编译64位release版本
注意:输出目录用双引号括起来

执行命令配置编译生成目录在 F:\Work\kafka\win\openssl_build

perl Configure VC-WIN64A no-asm --prefix="F:\Work\kafka\win\openssl_build"

【编译64位openssl】
命令如下:

ms\do_win64a.bat
执行这一步之后,在ms目录下会生成nt.mak和ntdll.mak两个编译配置文件

nt.mak 用于生成静态lib库
ntdll.mak 用于生成动态dll库

  • 【编译openssl静态链接库】
    命令如下:
nmake -f ms\nt.mak
nmake -f ms\nt.mak test
nmake -f ms\nt.mak install
  • 【编译openssl动态链接库】
    命令如下:
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install

执行test命令可以测试编译好的库


测试成功了就可以运行install命令,运行完之后才会在输出目录 F:\Work\kafka\win\openssl_build中找到输出的编译好的库和加入工程时必要的include文件。


三、编译librdkafka

1.解压下载后的源码,进入win32目录,使用vs2015打开librdkafka.sln解决方案。


2.配置opensll库与头文件目录

首先需要编译librdkafka项目,配置opensll与lib。

添加头文件:


添加lib


这里有个地方要注意下,默认使用的是libeay32MT.lib与ssleay32MT.lib。这里将名字中去掉MT,保存如上图所示,编译即可通过。


2.测试

编译完librdkafka项目后,可以逐一编译其他项目,这里拿客户端编译做测试。

编译成功后生成文件在目录win32\outdir\v140\x64\Release中(这里是以vs2015为例

我们在本机开启一个topic为test的生产者,然后使用本测试程序消费者进行通信测试。


该程序需要在命令行界面打开。


根据参数提示,执行以下命令:

rdkafka_consumer_example_cpp.exe -g 4 -b 127.0.0.1:9092 test
消费者组ID具体含义请百度。

效果如下图:


以下链接是已经编译好的静态库与动态库。

下载地址:librdkafka win7 64位 vs2015编译Release.rar















评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值