Я пытаюсь подключиться к rabbitmq в c, и каждый раз это не удается. Вот как я это сделал.
Скачал rabbitmq -c
Установил(make && make install
)просто чтобы убедиться, что зависимости удовлетворены.
Изменены переменные подключения вamqp_sendstring.c
Восстановил с помощью make
, запустил ./amqp_sendstring
и все заработало
Затем я начал создавать свои собственные файлы и компилировать их через gcc, используя:
gcc -lrabbitmq -o j_test test.c
По иронии судьбы он не может связать librabbitmq с ошибками ниже:
/tmp/cc63IlXq.o: In function `main':
test.c:(.text+0xa): undefined reference to `amqp_new_connection'
test.c:(.text+0x1a): undefined reference to `amqp_destroy_connection'
collect2: ld returned 1 exit status
Я удалил все, что начинается с ampq _*. Вуаля! Он был успешно построен. Для меня это показатель того, что gcc может найти заголовки, но не библиотеку.
Вот исходный код test.c:
#include <amqp.h>
#include <amqp_framing.h>
int main(int argc, char const * const *argv) {
amqp_connection_state_t conn;
conn = amqp_new_connection();
amqp_destroy_connection(conn);
return 0;
}
Кто-нибудь, пожалуйста, укажите мне правильное направление?
Редактировать :Я забыл упомянуть, что у меня Ubuntu Box (12.04 ). Подумайте, что это неявно подразумевается в утверждениях выше.