Page 1 of 1

Boost 1.61 Portable Binary

PostPosted: Wed Feb 28, 2018 3:29 am
by Kasuax
It appears that with Boost 61 the binary portable serialization option causes linker errors. It looks like the boost team just moved a few things around but I thought I'd post here because I'm not completely sure.

# DEFINES += _QX_ENABLE_BOOST_SERIALIZATION_PORTABLE_BINARY

Re: Boost 61 Portable Binary

PostPosted: Mon Mar 05, 2018 11:26 am
by qxorm
Hello,

Current version of boost is 1.66 : have you tried with latest version of boost ?

BTW, boost portable binary serialization can now be replaced by Qt QDataStream serialization : https://www.qxorm.com/qxorm_en/manual.html#manual_600
I don't know if you can move to QDataStream option (because not backward compatible with boost portable binary serialization) but maybe you should consider to test it.

Re: Boost 61 Portable Binary

PostPosted: Wed Mar 07, 2018 9:58 pm
by Kasuax
Unfortunately Qt serialization isn't robust enough for our needs.

Re: Boost 61 Portable Binary

PostPosted: Fri Mar 09, 2018 8:03 am
by qxorm
What kind of issues do you have with Qt serialization ?
How could it be improved ?

Re: Boost 61 Portable Binary

PostPosted: Mon Mar 12, 2018 10:28 pm
by Kasuax
Qt Serialization was unable to identify multiple instances of an object throughout our model. Consequently trying to save our model with qt serialization created massive files because the same data was recorded over and over again. Boost serialization was smart enough to save a reference to the object each subsequent time after the first write. Our goal was a portable format that we could use to transfer between air-gapped networks. Needless to say it's been an uphill battle but we have a solution that is working for us currently with boost serialization. That said if you have a suggestion I would love to entertain it because simply having qx with boost turned on increases our build time by 10x...

Re: Boost 1.61 Portable Binary

PostPosted: Wed Mar 14, 2018 11:01 am
by qxorm
Boost serialization was smart enough to save a reference to the object each subsequent time after the first write.

Yes you are right : this is a limitation of Qt serialization compared to boost serialization.

Here is a BETA version which should work with boost portable binary serialization :
https://www.qxorm.com/version/QxOrm_1.4.5_BETA_06.zip

Here is the changes log compared to QxOrm 1.4.4 version :
- Fix an issue in qx::IxSqlQueryBuilder class when QxOrm library is used in a multi-thread environment
- Support latest version of boost (1.66)
- Update boost portable binary serialization classes to version 5.1 (provided by https://archive.codeplex.com/?p=epa)


Could you please confirm that everything works fine for you with this BETA version ?