1

我在命令行中运行了第一个 msgpack 成功示例,但在 xcode 中失败了

架构 x86_64 的未定义符号:
“msgpack::operator<<(std::__1::basic_ostream >&, msgpack::object)”,引用自:main.o 中的 _main

错误来自这一行

std::cout << obj << std::endl;  //=> ["Hello", "MessagePack"]

我已经设置

  • 其他链接器标志 -lmsgpack
  • 库搜索路径 /usr/local/lib
  • 支持 c++ 11 的 C++ 标准库 libc++
4

1 回答 1

3

这表明obj有一个类型msgpack::object

问题是没有operator<<for 类型的对象msgpack::object
您正在寻找的是:

std::ostream& operator<<(std::ostream& stream, msgpack::object const& data)
{
    // STUFF
}
于 2013-03-20T04:02:05.757 回答