Description
Solar uses boost serialization. By default, boost binary archive is used. However, it is not portable between linux/windows. I wanted to obtain a map which is portable between linux/windows, i.e. the same map file can be loaded from both linux (ubuntu) and windows 10.
So, I uncommented this line https://github.com/SolarFramework/SolARFramework/blob/develop/interfaces/core/SerializationDefinitions.h#L43 in order to switch to text serialization (portable cross platform). Then, I rebuilt solarframework, grpcremote, all the pipelines and the services.
When I launched the mapping, I got an error message "./SolARServiceTest_MappingAndRelocFrontend: symbol lookup error: /home/xxxx/.remaken/packages/linux-gcc/SolARBuild/SolARFrameworkGRPCRemote/1.0.0/lib/x86_64/shared/release/libSolARFrameworkGRPCRemote.so: undefined symbol: _ZNK5SolAR13datastructure5Image4saveIN5boost7archive15binary_oarchiveEEEvRT_j
"
libSolARFrameworkGRPCRemote should not depend on boost binary archive any more.
It seems to be related to https://github.com/SolarFramework/SolARFramework/blob/develop/interfaces/datastructure/Image.h#L308 where the macro DECLARESERIALIZE only declares serialize() method. However in Image.h save()/load() is used instead of serialize() https://github.com/SolarFramework/SolARFramework/blob/develop/interfaces/core/SerializationDefinitions.h#L66
to be further investigated...