2013-03-20 78 views
0

我跑在命令行msgpack成功的第一示例,但在xcode中失败xcode中:<br> “msgpack ::运算<:用于建筑x86_64的[COUT <<]

为架构x86_64的未定义未定义的符号的符号<(STD :: __ 1 :: basic_ostream> &,msgpack ::对象)”,从引用:在main.o中 _main

该错误是从该行

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

我已经设置了

  • 其它链接器标记-lmsgpack
  • 库搜索路径/ usr/local/lib目录
  • C++标准库libC++与C++ 11的支持

回答

2

这表示obj的类型为msgpack::object

问题是msgpack::object类型的对象没有operator<<
你所寻找的是这样的:

std::ostream& operator<<(std::ostream& stream, msgpack::object const& data) 
{ 
    // STUFF 
} 
+0

+1可能的原因这甚至编译的是,操作员* *宣布为好友,但节目是从来没有实现过这里。 – WhozCraig 2013-03-20 04:22:24