Установка и компиляция ZeroMQ / ZMQ / 0MQ на Ubuntu 12.04 32bit

Я действительно хочу использовать 0MQ для личного проекта, но мне очень сложно получить вещи для компиляции после установки

вот что я делаю:

#### Install prerequisites without errors: ####
$ sudo apt-get install libtool autoconf automake uuid-dev build-essential

#### Get 0MQ: ####
$ cd ~/Downloads
$ wget http://download.zeromq.org/zeromq-3.2.1-rc2.tar.gz
$ tar -xvzf zeromq-3.2.1-rc2.tar.gz

#### Install 0MQ without errors: ####
$ cd zeromq-3.2.1
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig

#### Get the imatix zguide: ####
$ cd ~/Downloads
$ wget https://github.com/imatix/zguide/tarball/master
$ tar -xvzf master

здесь мне нужна помощь. Бегущий." /build all "in the imatix" examples/C "и" examples/c++ " папки просто приводит к нагрузкам ошибок. Я также попытался скомпилировать с помощью "./с и." /c-p" команды в каталогах "/examples/ C /" & "/examples/ C++ / " соответственно. Я не получаю ошибок, но они создают ".о "и".opp " файлы. Эти экзешники? После компиляции я попробовал "chmod +x" и "chown 777" безрезультатно. Вот что я делаю:--4-->

#### Generates hwclient.o ####
$ cd imatix-zguide-a690f10/
$ cd examples/C/
$ ./c hwclient.c
Compiling hwclient...
$ ./hwclient.o
bash: ./hwclient.o: Permission denied

#### Generates hwclient.opp ###
$ cd ../C++/
$ ./c -p hwclient.cpp
Compiling hwclient...
$ ./hwclient.opp
bash: ./hwclient.opp: Permission denied

Я также попытался скомпилировать с g++ , что просто приводит к аналогичным ошибкам при запуске"./строим все":

$ g++ hwclient.cpp -o hwclient.exe
/tmp/ccWFyLHw.o: In function `main':
hwclient.c:(.text+0x16): undefined reference to `zmq_ctx_new'
hwclient.c:(.text+0x3a): undefined reference to `zmq_socket'
hwclient.c:(.text+0x52): undefined reference to `zmq_connect'
hwclient.c:(.text+0x73): undefined reference to `zmq_msg_init_size'
hwclient.c:(.text+0x7f): undefined reference to `zmq_msg_data'
hwclient.c:(.text+0xb9): undefined reference to `zmq_msg_send'
hwclient.c:(.text+0xc5): undefined reference to `zmq_msg_close'
hwclient.c:(.text+0xd1): undefined reference to `zmq_msg_init'
hwclient.c:(.text+0xed): undefined reference to `zmq_msg_recv'
hwclient.c:(.text+0x10d): undefined reference to `zmq_msg_close'
hwclient.c:(.text+0x12e): undefined reference to `zmq_close'
hwclient.c:(.text+0x13a): undefined reference to `zmq_ctx_destroy'
collect2: ld returned 1 exit status

каков следующий шаг/что мне не хватает? Я просмотрел весь сайт 0MQ и wiki, но никто другой, похоже, не имеет проблемы. Я делаю ошибку noob? Я выполняю ".О "или".ОПП" файлы неправильно? Они вообще исполняемые?

пожалуйста, помогите. Я действительно хочу использовать 0MQ!

2 ответов


Я обнаружил, что мне пришлось перейти на 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-каналам, я понял это.

#### Build a single file with: ####
./c -p filename.cpp
g++ -o filename filename.opp -lzmq

#### Build all in folder ####
CCLIBS='-lzmq' ./build all