Page 1 of 1

Boost 1.66

PostPosted: Wed Mar 07, 2018 10:26 pm
by Kasuax
It doesn't appear that QxOrm 1.4.3 and Boost 66 are compatible... This is a problem for us as we're not ready to transition to Qt5 and use the latest libraries as much as we'd like to. Could you let us know if it's something easy to address?

We're using xml and binary boost serialization with qt gui enabled too.

Re: Boost 66

PostPosted: Fri Mar 09, 2018 8:05 am
by qxorm
Hello,

I will install latest version of boost and check what are the changes.
I think it should be easy to address.
And I will check also the portable binary option (from your previous post).

Re: Boost 66

PostPosted: Fri Mar 09, 2018 4:51 pm
by qxorm
To build without any error with boost 1.66, here is a quick patch to apply :

- file QxExportDllMacroCpp.h :
Code: Select all
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_iserializer, ArchiveIn, T) \
//QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::pointer_iserializer, ArchiveIn, T)

#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_oserializer, ArchiveOut, T) \
//QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::pointer_oserializer, ArchiveOut, T)


- file QxExportDllMacroHpp.h :
Code: Select all
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_HPP(ArchiveIn, ArchiveOut, T) \
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_HPP(class, boost::archive::detail::pointer_iserializer, ArchiveIn, T) \
//QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_HPP(class, boost::serialization::singleton, boost::archive::detail::pointer_iserializer, ArchiveIn, T)

#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_HPP(ArchiveIn, ArchiveOut, T) \
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_HPP(class, boost::archive::detail::pointer_oserializer, ArchiveOut, T) \
//QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_HPP(class, boost::serialization::singleton, boost::archive::detail::pointer_oserializer, ArchiveOut, T)


All my unit tests work fine with these changes.
If everything work fine for you too, then I will include this patch for the next release...

About portable binary option, I'm able to build with a few changes but the serialization process doesn't work for now.
I will try to upgrade the portable_binary classes in QxOrm library to latest version : https://archive.codeplex.com/?p=epa

Re: Boost 66

PostPosted: Mon Mar 12, 2018 10:30 pm
by Kasuax
Please do let us know if and when you are able to support this. We'd like to start supporting both win/linux this year and this issue is holding us back.

Thanks!

Re: Boost 1.66

PostPosted: Wed Mar 14, 2018 11:03 am
by qxorm
Here is a QxOrm BETA version which should work with latest boost 1.66 version :
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 ?

Re: Boost 1.66

PostPosted: Fri Mar 16, 2018 3:19 am
by Kasuax
I will confirm with you soon. It will take me a few days/weeks I'm a little inundated but I appreciated the quick turn around!