RapidJson未定义参考

时间:2014-03-18 06:06:09

标签: android cocos2d-x rapidjson

in function rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >::GenericDocument(rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&):

    error: undefined reference to 'rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >::GenericValue(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > const&)'

我在cocos2dX中使用rapidjson库时遇到此错误。

2 个答案:

答案 0 :(得分:3)

这个问题刚才被问到,在这里为其他有同样问题的人录制答案。

如果要将rapidjson::Document传递给函数,请尝试按引用传递。即代替void doSomething(rapidjson::Document doc)void doSomething(rapidjson::Document &doc)。我认为使用rapidjson::Document copy constructor存在问题。

答案 1 :(得分:0)

不允许深拷贝,高兴使用参考。比如

void parseJsonDocument(const char* data, rapidjson::Document& json);
const rapidjson::Value& itemValue = value["value"];