【问题标题】:Difference between libzmq and cppzmq , and between zmq.h and zmq.hpp?libzmq 和 cppzmq 之间以及 zmq.h 和 zmq.hpp 之间的区别?
【发布时间】:2018-03-14 08:05:30
【问题描述】:

在Linux-Ubuntu上安装ZeroMQ,一个网站

https://tuananh.org/2015/06/16/how-to-install-zeromq-on-ubuntu/

说要运行以下命令:

sudo apt-get install libtool pkg-config build-essential autoconf automake

sudo apt-get install libzmq-dev

我们在其中单独安装 libzmq-dev。 而根据

http://zeromq.org/intro:get-the-software

"确保已安装 libtool、pkg-config、build-essential、autoconf 和 automake。" 所以我们不需要显式安装 libzmq-dev。

所以我的问题是它有什么不同? libzmq 有什么用?它与 libzmq-dev 不同吗?如果我想用 C++ 编写代码,那么我是否需要同时安装 libzmq 和 cppzmq,如 https://github.com/zeromq/cppzmq 中所述。

请告诉哪个头文件(zmq.h、zmq.hpp和zhelpers.hpp)来自哪个库?

【问题讨论】:

    标签: c++ ubuntu installation zeromq


    【解决方案1】:

    libzmq 仅包含 zmq 库(libzmq.so、libzmq.a)。

    libzmq-dev 包含库和 C 头文件 (zmq.h)。如果想用zmq开发,需要用这个代替libzmq

    “确保已安装 libtool、pkg-config、build-essential、autoconf 和 automake。”所以我们不需要显式安装 libzmq-dev。

    如果您想从源代码构建 libzmq,则需要这些工具。如果您通过apt 安装,则无需这样做。

    cppzmq 是 zmq 的 C++ 绑定,因此您可以使用 C++ 的东西来处理 ZMQ,而不是通过 libzmq 提供的 C api。

    zmq.h 来自libzmq-dev,zmq.hpp 和 zhelpers.hpp 来自cppzmq

    【讨论】:

    • 谢谢。我还有一个疑问。在我的 ZeroMQ 应用程序(用 C++ 编写)中,我没有在任何地方使用过 zmq.h。所以,这是否意味着我不需要安装 libzmq-dev?我们可以在不安装 libzmq 的情况下在 ZMQ 中编写 C++ 应用程序吗?@hgminh
    • 不,cppzmq只给你C++接口,底层工作在库libzmq.so/.a中完成。此外,zmq.hpp 确实使用了zmq.h
    • 好的,谢谢。 @hgminh您说“如果您想从源代码构建libzmq,则需要这些工具。如果您通过apt安装,则无需这样做。” ..您的意思是安装什么?请解释
    • 这里的目的是安装库文件(libzmq.so/.a)和头文件(zmq.h)。你可以通过 apt(一个包管理器)来完成它,它只是从某个地方下载这些文件。或者你可以得到zmq的源代码,自己编译得到库文件。如果您不熟悉这种方式,只需通过apt安装即可。
    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 2020-05-10
    • 2014-09-20
    • 2010-10-28
    • 2015-10-04
    相关资源
    最近更新 更多