Been on this one a couple of days to work out the various scenarios, now any help greatly appreciated...
First "Serialization" is enabled (we will later be using the QxService model for our project), so I have build the required boost libs fine with the Boostrap/b2 command line tools.
I'm using Qt Creator to build (with both MinGW and MCVS2013 compilers configured). With latest Boost (1.60.0), I can build the QxORM.lib using the MSVC compiler, but with MinGW if failes. First compiler error is:-
- Code: Select all
...qxorm\source\include\QxSerialize\boost\QxSerialize_unordered_map.h:63: error: 'load_collection' is not a member of 'boost::serialization::stl'
boost::serialization::stl::load_collection< Archive, boost::unordered_map<Key, Value>,
I need to have it building via MinGW building, as some of our developers don't have MSVC and so are relying on MinGW.
From my understanding, MinGW is attempting to "compile" that code even though it's a template function, whereas MSVC doesn't process it until the template is used. So I think I get why it's not building with MinGW, but MSVC is ok.
And from reading further into it, the "load_collection" method is/was an internal part of the Boost lib API, and external libraries (ie QxORM), should not be using it, and indeed that method looks like it has been removed.
I reverted boost back to 1.56.0 and I can build the all the QxORM.LIBs (MSVC, MinGW etc etc).
However, first, when I move to the next stage (building the QxORM test/tutorial project), I start getting copmiler errors in the Boost headers about missing .hpp files (my include paths are ok, the .HPP files are physically not present, I have checked!).
Second, I don't want our code base to be fixed on an older version of Boost, so I have re-reverted the Boost libs back to V1.60.0
With MSVC I can build/run/debug the QxBlog tutorials fine. And I'd hoped that I could build the QxBlog tutorial with MinGW only linking in the pre-built MSVC QxORM lib, but sadly not... The QxBlog compilation fails with exactly the same compiler error...
- Code: Select all
...qxorm\source\include\QxSerialize\boost\QxSerialize_unordered_map.h:63: error: 'load_collection' is not a member of 'boost::serialization::stl'
boost::serialization::stl::load_collection< Archive, boost::unordered_map<Key, Value>,
So is QxORM/MinGW not compatible with boost 1.60.0. I am doubtful that's the case and am more suspicious that I have just not got something right.
Thanks
Steve.