/ / Referencia no definida en el operador jsoncpp = - c ++, c ++ 11, ubuntu-14.04, jsoncpp

Referencia no definida en el operador jsoncpp = - c ++, c ++ 11, ubuntu-14.04, jsoncpp

¿Cómo resuelvo el siguiente error de vinculador w.r.t jsoncpp operator =.

Creo un Json::Value objeto como este

Json::Value pt;
pt["type"] = 5;
pt["uuid"] = "f8c74622-d45e-4cfa-fe00-5e7042431c72";
pt["start frame"] = 10;
pt["duration"] = 20;
pt["payload"] = "aedddefffsadf";

Esto da el siguiente error de vinculador cuando intento enlazar con el libjsoncpp-dev predeterminado que se incluye con Ubuntu 14.04

referencia indefinida a `Json :: Value :: operator = (Json :: Value)"

Información extra:

Y no obtengo este error de vinculador cuando se compila y vincula con el último jsoncpp de GitHub.

value.h (instalado por ubuntu apt) en / usr / include / jsoncpp / json tiene

Value &operator=( const Value &other );

y el último valor de jsoncpp.h tiene

Value &operator=(Value other);

Respuestas

0 para la respuesta № 1

Debian se envía con jsoncpp-0.6.0-rc2. Apuesto a que Ubuntu también lo hace.

Simplemente cambia a jsoncpp-0.8.zque son compatible con binarios 0.6.0-rc2 e incluye la mayoría de las mejoras y correcciones de errores de 1.y.z.

En realidad, Debian está cambiando a 0.8.z ahora. Hasta que Ubuntu actualice su versión enviada, es posible que tenga que evitar nuevas funciones (principalmente la Constructores) y en su lugar use los Lectores / Escritores desaprobados, que probablemente sea lo que ya está haciendo. Así que debería ser fácil para ti hacer que todo funcione.