4 Stimmen

g++ undefinierter Verweis auf ZMQ

Ich habe mein Projekt auf meinem Arbeitsplatz-PC entwickelt (wo alles gut läuft), aber wenn ich versuche, es auf meinem Heim-PC zu kompilieren (beides Ubuntu 12.04), erhalte ich die folgende Meldung:

undefined reference to `zmq_sendmsg'

Ich kann nicht verstehen, was ich übersehen habe, denn ich sehe dies

/usr/local/lib/libzmq.so
/usr/local/lib/libzmq.so.3
/usr/local/lib/libzmq.so.3.0.0

Meine ZeroMQ-Installation scheint also in Ordnung zu sein. Kann jemand vorschlagen, was ich überprüfen könnte?

8voto

Pieter Hintjens Punkte 6571

Wenn Sie linken, müssen Sie -lzmq hinzufügen, damit der Linker die Funktionen von libzmq übernimmt.

So kompiliere ich ein Hallo-Welt-Programm:

gcc -o hello hello.c -lzmq

1voto

Dirk Eddelbuettel Punkte 345316

Wir brauchen den Linker-Befehl, den Sie verwenden, um das zu erkennen.

Können Sie einige der ZeroMQ-Beispielprogramme erstellen? Können Sie Dinge mit den v2 Versionen in Ubuntu bauen, z.B.

edd@max:~$ COLUMNS=40 dpkg -l|grep libzmq
ii  libzmq-dev     2.1.11-1ubuntu ZeroMQ lightweight messaging kernel (develop
ii  libzmq1        2.1.11-1ubuntu ZeroMQ lightweight messaging kernel (shared 
edd@max:~$ 

ZeroMQ ist eine ziemliche Standardbibliothek, was Build-Tools angeht, also müssen Sie etwas Einfaches übersehen, das wir finden sollten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X