如何解决以下链接器错误w.r.t jsoncpp operator =。
我像这样创建一个Json::Value
对象
Json::Value pt;
pt["type"] = 5;
pt["uuid"] = "f8c74622-d45e-4cfa-fe00-5e7042431c72";
pt["start frame"] = 10;
pt["duration"] = 20;
pt["payload"] = "aedddefffsadf";
当我尝试链接到Ubuntu 14.04随附的默认libjsoncpp-dev时,这会出现以下链接器错误
额外信息:
而且,当编译并链接到来自GitHub的最新jsoncpp时,我没有收到此链接器错误。
/usr/include/jsoncpp/json中的value.h(由ubuntu apt安装)具有
Value &operator=( const Value &other );
并且最新的jsoncpp value.h具有
Value &operator=(Value other);
最佳答案
Debian附带jsoncpp-0.6.0-rc2
。我敢打赌,Ubuntu也是如此。
只需切换到 jsoncpp-0.8.z
,即binary-compatible with 0.6.0-rc2
,其中包括1.y.z
的大多数增强功能和错误修复程序。
实际上,Debian目前正在切换到0.8.z
。在Ubuntu更新其发行版本之前,您可能必须避免使用新功能(主要是Builders),而要使用已弃用的Readers/Writers,这可能就是您已经做的。因此,使一切正常工作应该很容易。
关于c++ - jsoncpp运算符中的 undefined reference =,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28445744/