我正在尝试在 c 中连接到 rabbitmq,但每次都失败。这是我的做法。
下载 rabbitmq-c
安装它(make && make install
)只是为了确保满足依赖关系。
在Rebuilt using
中修改了连接变量,运行并且它工作
然后我开始创建自己的文件并使用 gcc 编译它们:
amqp_sendstring.c
make
./amqp_sendstring
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 盒子上(12.04)。认为它隐含在上面的陈述中。