On 7/17/15 10:51 PM, Edward Diener wrote:
When running serialization tests with mingw-64/gcc on Windows I get repeated errors of the form:
..\..\../boost/archive/detail/basic_oarchive.hpp:64:5: error: function 'boost::archive::detail::helper_collection& boost::archive::detail::basic_oarchive::get_helper_collection()' definition is marked dllimport get_helper_collection(){
Is this a known problem ?
Testing with VC++ does not give any errors.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
A couple of months ago I made efforts to limit symbol visibility on compilers other than Visual Studio. This was to resolve complaints about the serialization library exporting many more symbols than necessary on these platforms. This turned out to be quite a bit more intricate than I expected as there's some confusion between vs and other platforms on this point and they use different syntax. I managed to get it all together - except for MinGW - which still has problems in this area. I noticed it was failing the MinGW tests (when they were being run). But I couldn't really fix it because I have neither Visual Studio nor MinGW. As I said, it turned out some what more complex than I expected due to one thing in particular. The wide version of the DLL exports it's own symbols, but import symbols from the the base version of the DLL. So one has to get it just right. For a while I was experiencing the situation where fixing it for one version would create problems in the other. I never could figure out which syntax MinGW uses. If one has all three (or four) platforms gcc, mingw, clang, and Visual studion and some patience it's an easy fix - once you discover it. But without this setup, it's sort of chasing one's tail. So if you want to do this, I would be grateful. Not that if you get it wrong, it shows up in some tests but not in others. So one has to be prepared to run the whole serialization test suite before declaring victory. Robert Ramey