我需要一个构造rapidjson::Document并返回的函数。但是当我用这个原型编写一个函数时:

rapidjson::Document progressToJson(const Progress& progress);


我收到此错误:

error LNK2019: unresolved external symbol "private: __thiscall rapidjson::GenericValue<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> >::GenericValue<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> >(class rapidjson::GenericValue<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> > const &)" (??0?$GenericValue@U?$UTF8@D@rapidjson@@V?$MemoryPoolAllocator@VCrtAllocator@rapidjson@@@2@@rapidjson@@AAE@ABV01@@Z) referenced in function "public: __thiscall rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> >::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> >(class rapidjson::GenericDocument<struct rapidjson::UTF8<char>,class rapidjson::MemoryPoolAllocator<class rapidjson::CrtAllocator> > const &)" (??0?$GenericDocument@U?$UTF8@D@rapidjson@@V?$MemoryPoolAllocator@VCrtAllocator@rapidjson@@@2@@rapidjson@@QAE@ABV01@@Z)


似乎没有复制构造函数。我怎么解决这个问题?顺便说一句,当我使用Eclipse作为Android本机代码编译它时,它便可以编译并正常工作。我在Windows上使用MVS 2012遇到此错误。

最佳答案

传递一个空文档作为参数,并尝试使用其内存分配器对其进行解析:

void progressToJson(const Progress & progress, rapidjson::Document & doc);

关于c++ - Rapidjson无法复制`rapidjson::Document`,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26075268/

10-11 16:27