2017-02-18 16 views
3

私は、このリンクからチュートリアルに従うしよう:ZeroMQをインストールすると、次のように簡単な例を実行するためのhttp://hintjens.com/blog:49を:ZeroMQエラー:不明なタイプ名「zctx_t」

#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; 
} 

はしかし、私は、このエラーメッセージが表示されました

hello.c: In function ‘main’: 
hello.c:4:5: error: unknown type name ‘zctx_t’ 
    zctx_t *ctx = zctx_new(); 
    ^
hello.c:4:19: warning: initialization makes pointer from integer without a cast [enabled by default] 
    zctx_t *ctx = zctx_new(); 
       ^
hello.c:5:23: warning: initialization makes pointer from integer without a cast [enabled by default] 
    void *publisher = zsocket_new (ctx, ZMQ_PUB); 
        ^

私を助けることができますか? 私は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 .. 
+1

私はczmq 3.0.2の下位バージョンをインストールしました。 – user3107695

答えて

0

このコードはv3では非推奨とV4(https://github.com/zeromq/czmq/releases/tag/v4.0.0)で削除されましたCZMQのAPI v2は、使用しています。 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; 
} 

あなたはhttps://github.com/zeromq/czmq/tree/master/examples/securityですべてのサンプルの近代化バージョンを見つけることができます。

関連する問題