win下qt编译librdkafka

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win下qt编译librdkafka相关的知识,希望对你有一定的参考价值。

参考技术A windows 下使用 Qt 的 mingw81_64 编译 librdkafka , 生成静态库。
librdkafka版本v1.8.2, 源码地址: https://gitee.com/dhz120/librdkafka.git

在pro/pri中导入静态库,需要注意:

示意如下(含win/linux):

win10 下 protobuf 与 qt

编译环境: win10 x64   编译器 :mingw32  cmake 使用场景:Qt4.8.7

下载 protobuf 最新的代码:https://github.com/google/protobuf 

技术分享图片

点击 configure 

技术分享图片

使用默认的 mingw32 即可,前提是把 mingw32/bin 加到环境变量Path里面。

 技术分享图片

然后,发现出错了 gmock 没有 ,可以直接勾选取消 gmock 也可以GitHub 自己下载 mock 补充到源码 (我这直接不生成测试了)

技术分享图片

技术分享图片

然后在自己指定的文件夹中生成了如下文件

技术分享图片

 

 开始编译 (mingw32-make )是 mingw32/bin 下的exe (此目录已在环境变量Path中了)等待完成即可。

技术分享图片

 

 成果就是它了

技术分享图片

用  .protoc.exe --proto_path=SRC --cpp_out=DST SRC/test.proto 生成文件(自己建立 src 和dst 文件夹 test.proto 放到src文件下)

// 指定语法规则
syntax = "proto3";

message Book
{
    string name = 1;
    int32 pages = 2;
    float price = 3;
}

message Student
{
    int32 age = 1;
    string name = 2;
    float score = 3;
    repeated Book arrBook = 4;
}

生成 test.pb.h 和 test.pb.cc 建立一个Qt项目测试一下吧

void MainWindow::on_pushButton_clicked()
{
    //GOOGLE_PROTOBUF_VERIFY_VERSION;
    Book book;
    Book book2;
    book.set_name("哈哈shishi");
    book.set_pages(32);
    book.set_price(2.63);
    //qDebug()<< book.IsInitialized();
    string str ;
    book.SerializePartialToString(&str);
    book2.ParseFromString(str);
    qDebug()<<QString::fromUtf8(book2.name().c_str())<< " "<<book2.price()<<" "<<book2.pages();
}

包含生成的头文件

#include "test.pb.h"
#include <QDebug>
#include <iostream>
using namespace std;

配置一下 头文件和库文件

技术分享图片

最后就是结果了,收工。

以上是关于win下qt编译librdkafka的主要内容,如果未能解决你的问题,请参考以下文章

win10环境下VTK7.1的编译和Qt调用VTK的详细教程二(VS2013编译支持Qt的VTK库)

Win10下使用VS2019编译Qt 6.3.0注意事项

Win10下使用VS2019编译Qt 6.3.0注意事项

Win10下使用VS2019编译Qt 6.3.0注意事项

Win10下使用VS2019编译Qt 6.3.0注意事项

win10 下 protobuf 与 qt