Boost 1.66

Open discussion on QxOrm library

Boost 1.66

Postby Kasuax » Wed Mar 07, 2018 10:26 pm

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.
Kasuax
 
Posts: 62
Joined: Mon Jun 20, 2016 6:42 pm

Re: Boost 66

Postby qxorm » Fri Mar 09, 2018 8:05 am

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).
qxorm
Site Admin
 
Posts: 481
Joined: Mon Apr 12, 2010 7:45 am

Re: Boost 66

Postby qxorm » Fri Mar 09, 2018 4:51 pm

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
qxorm
Site Admin
 
Posts: 481
Joined: Mon Apr 12, 2010 7:45 am

Re: Boost 66

Postby Kasuax » Mon Mar 12, 2018 10:30 pm

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!
Kasuax
 
Posts: 62
Joined: Mon Jun 20, 2016 6:42 pm

Re: Boost 1.66

Postby qxorm » Wed Mar 14, 2018 11:03 am

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 ?
qxorm
Site Admin
 
Posts: 481
Joined: Mon Apr 12, 2010 7:45 am

Re: Boost 1.66

Postby Kasuax » Fri Mar 16, 2018 3:19 am

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!
Kasuax
 
Posts: 62
Joined: Mon Jun 20, 2016 6:42 pm


Return to QxOrm - Open discussion

Who is online

Users browsing this forum: No registered users and 3 guests

cron