Я хотел бы использовать PhysFS в сочетании с Boost.Serialization.Я нашел реализацию здесь , которая использует Boost.Iostreams для создания потока файлов PhysFS.Это работает для базовых операций, покупайте, если я пытаюсь использовать его с Boost.Serialization, я получаю следующую ошибку во время выполнения:
/usr/include/boost/iostreams/detail/optional.hpp:55: T& boost::iostreams::detail::optional<T>::operator*() [with T = boost::iostreams::detail::concept_adapter<PhysFS::FileDevice>]: Assertion `initialized_' failed.
Aborted
вот пример кода.
PhysFS::init(argv[0]);
PhysFS::setWriteDir(".");
PhysFS::FileStream ofs("test.xml", PhysFS::OM_WRITE);
boost::archive::xml_oarchive xml(ofs);
vec2 vec(3.1415, 2.5);
xml << BOOST_SERIALIZATION_NVP(vec);
ofs.close();
PhysFS::deinit();
Есть ли какой-нибудь способ получить рабочий поток файлов для оболочки PhysFS, который будет работать с такими библиотеками, как Boost.Serialization?