Samstag, Januar 25, 2020

Installieren & Kompilieren ZeroMQ/ZMQ/0MQ auf Ubuntu 12.04 32bit

Ich wirklich verwenden möchten 0MQ für ein persönliches Projekt, aber ich habe eine sehr harte Zeit getting things zu kompilieren, nach der installation

Hier ist was ich tun:

#### Installation der erforderlichen Komponenten, ohne Fehler: #### 
$ 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 

#### Installieren 0MQ ohne Fehler: #### 
$ cd zeromq-3.2.1 
$ ./konfigurieren 
$ make 
$ sudo make install 
$ sudo ldconfig 

#### Holen Sie sich die imatix zguide: #### 
$ cd ~/Downloads 
$ wget https://github.com/imatix/zguide/tarball/master 
$ tar -xvzf master 

Dies ist, wo ich Hilfe brauche. Ausführen von „./“alle erstellen“ in der imatix „Beispiele/C“ und „examples/C++“ – Ordner nur die Ergebnisse in Lasten von Fehlern. Ich habe auch versucht, kompilieren mit der „./c“ und „./c -p“ – Befehle in „/examples/C/“ & „/examples/C++ “ /“ – Verzeichnisse beziehungsweise. Ich bekomme keinen Fehler, aber Sie erzeugen „.o“ und „.opp“ – Dateien. Sind diese Programme? Nach dem kompilieren habe ich versucht „chmod +x“ und „chown 777“ ohne Erfolg. Hier ist was ich tun:

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

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

Habe ich auch schon versucht zu kompilieren mit g++, die nur Ergebnisse in ähnliche Fehler zu laufen „./“alle erstellen“:

$ 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 zurückgegeben, 1 exit status 

Was ist der nächste Schritt/was bin ich? Ich habe mir alle über die 0MQ-site & wiki aber sonst niemand zu haben scheint ein Problem. Bin ich ein noob Fehler??? Bin ich dem ausführen der „.o“ oder „.opp“ – Dateien falsch? Sind Sie auch ausführbare Dateien?

Bitte helfen. Ich möchte wirklich zu verwenden 0MQ!

2 Kommentare

  1. 8

    Fand ich, dass ich hatte ein upgrade auf ZeroMQ 3.2.x, um die Beispiele zu kompilieren, richtig. Die aktuelle version von CentOS/EPEL repositories 2.1.9, die nicht mit den Beispielen in der zguide. Mein Beispiel war hier auf einem CentOS 6.3 server.

    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
  2. 6

    Nach dem Gespräch auf ein paar IRC-channels habe ich es herausgefunden.

    #### Erstellen Sie eine einzige Datei mit: #### 
    ./c -p filename.cpp 
    g++ -o filename.opp -lzmq 
    
    #### Bauen Sie alle im Ordner #### 
    CCLIBS='-lzmq' ./bauen Sie alle 
    
    • Danke. Ich bearbeitet die ‚c‘ – Datei und platziert die CCLIBS=‘-lzmq‘ in es. Jetzt kann ich es einfach tun: „./bauen hwclient“ und baut es erfolgreich.

Kostenlose Online-Tests