7

個人的なプロジェクトに0MQを使用したいのですが、インストール後にコンパイルするのに非常に苦労しています。

これが私がすることです:

####エラーなしで前提条件をインストールします:####
$ sudo apt-get install libtool autoconf automake uuid-dev build-essential

#### 0MQを取得:####
$ cd〜/ダウンロード
$ wget http://download.zeromq.org/zeromq-3.2.1-rc2.tar.gz
$ tar -xvzf zeromq-3.2.1-rc2.tar.gz

####エラーなしで0MQをインストールします:####
$ cd zeromq-3.2.1
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig

#### imatix zguideを入手してください:####
$ cd〜/ダウンロード
$ wget https://github.com/imatix/zguide/tarball/master
$tar-xvzfマスター

これは私が助けを必要としているところです。imatixの「examples/C」および「examples/C ++」フォルダーで「./buildall」を実行すると、エラーが大量に発生します。また、「/ examples /C/」ディレクトリと「/examples/ C++/」ディレクトリでそれぞれ「./c」コマンドと「./c-p」コマンドを使用してコンパイルしてみました。エラーは発生しませんが、「。o」ファイルと「.opp」ファイルが生成されます。これらの実行可能ファイルですか?コンパイル後、「chmod+x」と「chown777」を試しましたが無駄になりました。これが私がすることです:

####hwclient.oを生成します####
$ cd imatix-zguide-a690f10 /
$cdの例/C/
$ ./c hwclient.c
hwclientをコンパイルしています...
$ ./hwclient.o
bash:./hwclient.o:アクセスが拒否されました

####hwclient.oppを生成します###
$ cd ../C ++ /
$ ./c -p hwclient.cpp
hwclientをコンパイルしています...
$ ./hwclient.opp
bash:./hwclient.opp:許可が拒否されました

また、g ++でコンパイルしようとしましたが、「。/buildall」を実行した場合と同様のエラーが発生します。

$ g ++ hwclient.cpp -o hwclient.exe
/tmp/ccWFyLHw.o:関数 `main'内:
hwclient.c:(。text+0x16):`zmq_ctx_new'への未定義の参照
hwclient.c:(。text+0x3a):`zmq_socket'への未定義の参照
hwclient.c:(。text+0x52):`zmq_connect'への未定義の参照
hwclient.c:(。text+0x73):`zmq_msg_init_size'への未定義の参照
hwclient.c:(。text+0x7f):`zmq_msg_data'への未定義の参照
hwclient.c:(。text+0xb9):`zmq_msg_send'への未定義の参照
hwclient.c:(。text+0xc5):`zmq_msg_close'への未定義の参照
hwclient.c:(。text+0xd1):`zmq_msg_init'への未定義の参照
hwclient.c:(。text+0xed):`zmq_msg_recv'への未定義の参照
hwclient.c:(。text+0x10d):`zmq_msg_close'への未定義の参照
hwclient.c:(。text+0x12e):`zmq_close'への未定義の参照
hwclient.c:(。text+0x13a):`zmq_ctx_destroy'への未定義の参照
collect2:ldが1つの終了ステータスを返しました

次のステップは何ですか/私は何が欠けていますか?私は0MQサイトとwiki全体を見てきましたが、他に誰も問題を抱えていないようです。私は初心者の間違いを犯していますか?「.o」または「.opp」ファイルを正しく実行していませんか?それらは実行可能ファイルでさえありますか?

助けてください。本当に0MQを使いたい!

4

2 に答える 2

8

例を正しくコンパイルするには、ZeroMQ3.2.xにアップグレードする必要があることがわかりました。CentOS / EPELリポジトリの現在のバージョンは2.1.9であり、zguideの例では機能しません。ここでの私の例は、CentOS6.3サーバーで実行されました。

yum remove zeromq zeromq-devel
wget http://download.zeromq.org/zeromq-3.2.2.tar.gz
tar zxvf zeromq-3.2.2.tar.gz && cd zeromq-3.2.2
./configure
make && make install
cd ~/zguide/examples/C
gcc -o hwclient hwclient.c -lzmq
于 2012-12-12T05:09:59.030 に答える
6

いくつかのIRCチャネルで話した後、私はそれを理解しました。

####次のコマンドで単一のファイルを作成します:####
./c -p filename.cpp
g ++ -o filename filename.opp -lzmq

####すべてをフォルダにビルドします####
CCLIBS ='-lzmq' ./build all
于 2012-10-16T15:52:34.183 に答える