在 Ubuntu 12.04 32 位上安装和编译 ZeroMQ/ZMQ/0MQ

Install & Compile ZeroMQ/ZMQ/0MQ on Ubuntu 12.04 32bit

本文关键字:编译 ZeroMQ 安装 ZMQ 0MQ Ubuntu      更新时间:2023-10-16

我真的很想在个人项目中使用0MQ,但在安装后,我很难编译

我是这样做的:

####无错误安装必备组件:####$sudo apt-get-install libtool autoconf automake uuid dev build essential####获取0MQ:####$cd~/下载$wgethttp://download.zeromq.org/zeromq-3.2.1-rc2.tar.gz$tar-xvzf zeromq-3.2-rc2.tar.gz####安装0MQ时无错误:####$cd zeromq-3.2.1$/配置$make$sudo制作安装$sudo ldconfig####获取imatix zguide:####$cd~/下载$wgethttps://github.com/imatix/zguide/tarball/master$tar-xvzf master

这是我需要帮助的地方。在imatix"examples/C"answers"examples/C++"文件夹中运行"./build-all"只会导致大量错误。我还尝试过使用"/examples/c/"&分别为"/examples/C++/"目录。我没有收到错误,但它们会生成".o"answers".opp"文件。这些是可执行文件吗?编译后,我尝试了"chmod+x"answers"chown 777",但都没有成功。我是这样做的:

####生成hwclient.o####$cd imatix-zguide-a690f10/$cd示例/C/$/硬件客户端正在编译hwclient。。。$/hwclient.obash:/hwclient.o:权限被拒绝####生成hwclient.opp###$cd/C++/$/c-p hwclient.cpp正在编译hwclient。。。$/hwclient.oppbash:/hwclient.opp:权限被拒绝

我也尝试过用g++编译,这只会导致类似于运行"./build-all"的错误:

$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+0xd):对"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网站&维基,但似乎没有其他人有问题。我是不是犯了一个小错误?我是否错误地执行了".o"或".opp"文件?它们甚至是可执行文件吗?

请帮忙。我真的很想用0MQ!

我发现我必须升级到ZeroMQ 3.2.x才能正确编译示例。CentOS/EPEL存储库中的当前版本是2.1.9,不适用于zguide中的示例。我在这里的例子是在一个CentOS 6.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

在讨论了几个IRC频道后,我已经弄清楚了。

####使用以下内容构建单个文件:####./c-p文件名.cppg++-o文件名文件名.opp-lzmq####在文件夹中生成所有####CCLIBS="-lzmq"/构建所有