【问题标题】:xcode: Undefined symbols for architecture x86_64 [cout <<]xcode:架构 x86_64 [cout <<] 的未定义符号
【发布时间】:2013-03-09 00:47:36
【问题描述】:

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

架构 x86_64 的未定义符号:
“msgpack::operator&, msgpack::object)”,引用自: _main in main.o

错误来自这一行

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

我已经设置了

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

【问题讨论】:

    标签: c++ xcode


    【解决方案1】:

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

    问题是msgpack::object 类型的对象没有operator&lt;&lt;
    您正在寻找的是:

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

    【讨论】:

    • +1 这甚至编译的可能原因是操作符被声明为朋友,但从未像这里显示的那样实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2016-11-07
    • 2015-11-24
    • 2013-02-07
    • 2016-11-05
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多