Amqpcpp未定义符号

问题描述 投票:1回答:2

我正在尝试运行amqpcpp中的示例之一(代码段):

int onCancel(AMQPMessage * message ) { 
   AMQPQueue * q = message->getQueue();
   q->Cancel( message->getConsumerTag());
   return 0;
}

我有以下错误:

未定义符号:_ZN11AMQPMessage8getQueueEv

我已包含amqpcpp的头文件。据此,可以识别此标头中的其他对象,并且可以正常工作。

c++ amqp
2个回答
1
投票

该错误实际上是一个linker错误,表示您未与AMQP库链接。将库添加到项目设置中的库列表中(如果使用的是IDE)或将-lamqpcpp添加到命令行中(如果已将其安装在非标准目录中,则可选地需要-L<path to amqpcpp library>)。


0
投票

聚会晚了一点,但我遇到了同样的问题。我使用CMake文件将AMQP-CPP链接到程序,但CMake抱怨它不存在。显然,库的顺序很重要。由于一个依赖另一个,因此无法编译。我将AMQP-CPP作为最后一个库进行了修复。

© www.soinside.com 2019 - 2024. All rights reserved.