Gcc ZeroMQ错误:未知类型名称‘;zctx#t’;

Gcc ZeroMQ错误:未知类型名称‘;zctx#t’;,gcc,g++,ubuntu-14.04,zeromq,Gcc,G++,Ubuntu 14.04,Zeromq,我尝试按照此链接中的教程进行操作:安装ZeroMQ并运行一个简单示例,如下所示: #include <czmq.h> int main (void) { zctx_t *ctx = zctx_new (); void *publisher = zsocket_new (ctx, ZMQ_PUB); zsocket_set_curve_server (publisher, true); puts ("Hello, Curve!"); zctx_

我尝试按照此链接中的教程进行操作:安装ZeroMQ并运行一个简单示例,如下所示:

#include <czmq.h>

int main (void) {
    zctx_t *ctx = zctx_new ();
    void *publisher = zsocket_new (ctx, ZMQ_PUB);
    zsocket_set_curve_server (publisher, true);
    puts ("Hello, Curve!");
    zctx_destroy (&ctx);
    return 0;
}
你能帮我吗? 我使用的是Ubuntu 14,ZeroMQ通过以下命令成功安装:

git clone git://github.com/jedisct1/libsodium.git
cd libsodium
./autogen.sh
./configure && make check
sudo make install
sudo ldconfig
cd ..

git clone git://github.com/zeromq/libzmq.git
cd libzmq
./autogen.sh
./configure && make check
sudo make install
sudo ldconfig
cd ..

git clone git://github.com/zeromq/czmq.git
cd czmq
./autogen.sh
./configure && make check
sudo make install
sudo ldconfig
cd ..

此代码使用CZMQ API v2,它在v3中已被弃用,并在v4()中被删除。使用v4的等效代码为:

#include <czmq.h>

int main (void) {
    zsock_t *publisher = zsock_new (ZMQ_PUB);
    zsock_set_curve_server (publisher, true);
    puts ("Hello, Curve!");
    zsock_destroy (&publisher);
    return 0;
}
#包括
内部主(空){
zsock_t*publisher=zsock_new(ZMQ_PUB);
zsock_set_curve_服务器(publisher,true);
放置(“你好,曲线!”);
zsock_销毁(和发行商);
返回0;
}

您可以在上找到所有示例的现代化版本。

我安装了较低版本czmq 3.0.2,然后它就可以工作了。
#include <czmq.h>

int main (void) {
    zsock_t *publisher = zsock_new (ZMQ_PUB);
    zsock_set_curve_server (publisher, true);
    puts ("Hello, Curve!");
    zsock_destroy (&publisher);
    return 0;
}