Ich versuche, mich in C mit RabbitMQ zu verbinden, und es scheitert jedes einzelne Mal. Hier ist, wie ich es gemacht habe.
RabbitMQ-c heruntergeladen
Es installiert (make && make install
), nur um sicherzustellen, dass die Abhängigkeiten erfüllt sind.
Verbindung Variablen in amqp_sendstring.c
modifiziert
Umgebaut mit make
, lief ./amqp_sendstring
und es hat funktioniert
Dann begann ich, meine eigenen Dateien zu erstellen und sie mit gcc zu kompilieren, indem ich verwendete:
gcc -lrabbitmq -o j_test test.c
Ironischerweise schafft es nicht, gegen librabbitmq mit den unten stehenden Fehlern zu verlinken:
/tmp/cc63IlXq.o: In Funktion `main':
test.c:(.text+0xa): nicht definierter Verweis auf `amqp_new_connection'
test.c:(.text+0x1a): nicht definierte Verweis auf `amqp_destroy_connection'
collect2: ld returned 1 exit status
Ich habe alles entfernt, was mit ampq_* beginnt. Voilà! Es wurde erfolgreich erstellt. Das ist für mich ein Hinweis darauf, dass gcc in der Lage ist, die Header zu finden, aber nicht die Bibliothek.
Hier ist der Quellcode von test.c:
#include
#include
int main(int argc, char const * const *argv) {
amqp_connection_state_t conn;
conn = amqp_new_connection();
amqp_destroy_connection(conn);
return 0;
}
Könnte mir bitte jemand in die richtige Richtung zeigen?
Bearbeitung: Ich habe vergessen zu erwähnen, dass ich auf einem Ubuntu-System (12.04) bin. Ich denke, das ist jedoch implizit in den obigen Aussagen enthalten.