我需要一个构造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/