Hi,

the JSON library used in CppMicroServices is an internal dependency only. It cannot be consumed by clients.


You could try the Boost Property Tree library to parse your configuration files.


Best,

Sascha


On 10/27/2017 09:04 PM, Alex Valcourt Caron wrote:

Hello,


I am presently writing my own module and plugin using MITK. I want to read properties and configuration files written in the Json language and know that a parser is available in the distribution.


I've tried to compile my reader, but keep having error message of unresolved external symbols with the Json library (I've included the trace at the bottom of the mail).


jsoncpp.h is included in the reader's .cpp file. I've tried to add CppMicroService to the DEPENDS of my module too, since it contains the third_party libraries, without success.


Trace :

--------------------------------------------------------------------------------------------------

VoxsimIOMimeTypes.obj : error LNK2019: symbole externe non résolu "public: __thiscall Json::Value::Value(enum Json::ValueType)" (??0Value@Json@@QAE@W4ValueType@1@@Z) référencé dans la fonction "public: static bool __cdecl mitk::VoxsimIOMimeTypes::canReadByJsonReader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?canReadByJsonReader@VoxsimIOMimeTypes@mitk@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 2>VoxsimStructureReader.obj : error LNK2001: symbole externe non résolu "public: __thiscall Json::Value::Value(enum Json::ValueType)" (??0Value@Json@@QAE@W4ValueType@1@@Z) 2>VoxsimIOMimeTypes.obj : error LNK2019: symbole externe non résolu "public: __thiscall Json::Value::~Value(void)" (??1Value@Json@@QAE@XZ) référencé dans la fonction "public: static bool __cdecl mitk::VoxsimIOMimeTypes::canReadByJsonReader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?canReadByJsonReader@VoxsimIOMimeTypes@mitk@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 2>VoxsimStructureReader.obj : error LNK2001: symbole externe non résolu "public: __thiscall Json::Value::~Value(void)" (??1Value@Json@@QAE@XZ) 2>VoxsimIOMimeTypes.obj : error LNK2019: symbole externe non résolu "public: __thiscall Json::Reader::Reader(void)" (??0Reader@Json@@QAE@XZ) référencé dans la fonction "public: static bool __cdecl mitk::VoxsimIOMimeTypes::canReadByJsonReader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?canReadByJsonReader@VoxsimIOMimeTypes@mitk@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 2>VoxsimStructureReader.obj : error LNK2001: symbole externe non résolu "public: __thiscall Json::Reader::Reader(void)" (??0Reader@Json@@QAE@XZ) 2>VoxsimIOMimeTypes.obj : error LNK2019: symbole externe non résolu "public: bool __thiscall Json::Reader::parse(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class Json::Value &,bool)" (?parse@Reader@Json@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAVValue@2@_N@Z) référencé dans la fonction "public: static bool __cdecl mitk::VoxsimIOMimeTypes::canReadByJsonReader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?canReadByJsonReader@VoxsimIOMimeTypes@mitk@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 2>VoxsimIOMimeTypes.obj : error LNK2019: symbole externe non résolu "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Json::Reader::getFormattedErrorMessages(void)const " (?getFormattedErrorMessages@Reader@Json@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) référencé dans la fonction __catch$?canReadByJsonReader@VoxsimIOMimeTypes@mitk@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z$0 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: __thiscall Json::Value::Value(int)" (??0Value@Json@@QAE@H@Z) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: __thiscall Json::Value::Value(char const *)" (??0Value@Json@@QAE@PBD@Z) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: __thiscall Json::Value::Value(class Json::Value const &)" (??0Value@Json@@QAE@ABV01@@Z) référencé dans la fonction "void __cdecl std::_For_each<class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> >(class Json::ValueIterator,class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> &)" (??$_For_each@VValueIterator@Json@@V<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@std@@YAXVValueIterator@Json@@0AAV<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: class Json::Value & __thiscall Json::Value::operator=(class Json::Value const &)" (??4Value@Json@@QAEAAV01@ABV01@@Z) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: int __thiscall Json::Value::compare(class Json::Value const &)const " (?compare@Value@Json@@QBEHABV12@@Z) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Json::Value::asString(void)const " (?asString@Value@Json@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) référencé dans la fonction "public: void __thiscall <lambda_12a9d842cdccfce2a73d3945b92b09ad>::operator()(class Json::Value)const " (??R<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@QBEXVValue@Json@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: int __thiscall Json::Value::asInt(void)const " (?asInt@Value@Json@@QBEHXZ) référencé dans la fonction "public: void __thiscall <lambda_12a9d842cdccfce2a73d3945b92b09ad>::operator()(class Json::Value)const " (??R<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@QBEXVValue@Json@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: double __thiscall Json::Value::asDouble(void)const " (?asDouble@Value@Json@@QBENXZ) référencé dans la fonction "public: void __thiscall <lambda_12a9d842cdccfce2a73d3945b92b09ad>::operator()(class Json::Value)const " (??R<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@QBEXVValue@Json@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: bool __thiscall Json::Value::isArray(void)const " (?isArray@Value@Json@@QBE_NXZ) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: unsigned int __thiscall Json::Value::size(void)const " (?size@Value@Json@@QBEIXZ) référencé dans la fonction "public: void __thiscall <lambda_12a9d842cdccfce2a73d3945b92b09ad>::operator()(class Json::Value)const " (??R<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@QBEXVValue@Json@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: class Json::Value & __thiscall Json::Value::operator[](unsigned int)" (??AValue@Json@@QAEAAV01@I@Z) référencé dans la fonction "public: void __thiscall <lambda_12a9d842cdccfce2a73d3945b92b09ad>::operator()(class Json::Value)const " (??R<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@QBEXVValue@Json@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: class Json::Value & __thiscall Json::Value::operator[](int)" (??AValue@Json@@QAEAAV01@H@Z) référencé dans la fonction "public: void __thiscall <lambda_12a9d842cdccfce2a73d3945b92b09ad>::operator()(class Json::Value)const " (??R<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@QBEXVValue@Json@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: class Json::Value __thiscall Json::Value::get(char const *,class Json::Value const &)const " (?get@Value@Json@@QBE?AV12@PBDABV12@@Z) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: class Json::ValueIterator __thiscall Json::Value::begin(void)" (?begin@Value@Json@@QAE?AVValueIterator@2@XZ) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: class Json::ValueIterator __thiscall Json::Value::end(void)" (?end@Value@Json@@QAE?AVValueIterator@2@XZ) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "protected: class Json::Value & __thiscall Json::ValueIteratorBase::deref(void)const " (?deref@ValueIteratorBase@Json@@IBEAAVValue@2@XZ) référencé dans la fonction "void __cdecl std::_For_each<class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> >(class Json::ValueIterator,class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> &)" (??$_For_each@VValueIterator@Json@@V<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@std@@YAXVValueIterator@Json@@0AAV<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "protected: void __thiscall Json::ValueIteratorBase::increment(void)" (?increment@ValueIteratorBase@Json@@IAEXXZ) référencé dans la fonction "void __cdecl std::_For_each<class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> >(class Json::ValueIterator,class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> &)" (??$_For_each@VValueIterator@Json@@V<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@std@@YAXVValueIterator@Json@@0AAV<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "protected: bool __thiscall Json::ValueIteratorBase::isEqual(class Json::ValueIteratorBase const &)const " (?isEqual@ValueIteratorBase@Json@@IBE_NABV12@@Z) référencé dans la fonction "void __cdecl std::_For_each<class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> >(class Json::ValueIterator,class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> &)" (??$_For_each@VValueIterator@Json@@V<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@std@@YAXVValueIterator@Json@@0AAV<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: __thiscall Json::ValueIterator::ValueIterator(class Json::ValueIterator const &)" (??0ValueIterator@Json@@QAE@ABV01@@Z) référencé dans la fonction "class <lambda_12a9d842cdccfce2a73d3945b92b09ad> __cdecl std::for_each<class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad> >(class Json::ValueIterator,class Json::ValueIterator,class <lambda_12a9d842cdccfce2a73d3945b92b09ad>)" (??$for_each@VValueIterator@Json@@V<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@@std@@YA?AV<lambda_12a9d842cdccfce2a73d3945b92b09ad>@@VValueIterator@Json@@0V1@@Z) 2>VoxsimStructureReader.obj : error LNK2019: symbole externe non résolu "public: bool __thiscall Json::Reader::parse(class std::basic_istream<char,struct std::char_traits<char> > &,class Json::Value &,bool)" (?parse@Reader@Json@@QAE_NAAV?$basic_istream@DU?$char_traits@D@std@@@std@@AAVValue@2@_N@Z) référencé dans la fonction "public: virtual class std::vector<class itk::SmartPointer<class mitk::BaseData>,class std::allocator<class itk::SmartPointer<class mitk::BaseData> > > __thiscall mitk::VoxsimStructureReaderService::Read(void)" (?Read@VoxsimStructureReaderService@mitk@@UAE?AV?$vector@V?$SmartPointer@VBaseData@mitk@@@itk@@V?$allocator@V?$SmartPointer@VBaseData@mitk@@@itk@@@std@@@std@@XZ)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to