Boost::serialize: im doing an Windows MSVC to Linux GCC port and i have a linker error (with a small example)
im doing an Linux/GCC port of an huge ~1Mio LOC/15 years grown
Windows/MSVC project - my first step was switching over to CMake
replacing the Studio-Solution file
and in around 2.5 weeks i went from a hell lot of compile errors down to
full compilation and nearly full linking - happy state so far :)
but i stumbled over an linking problem using Boost::serialize with
template types (in static libs and hundreds of them in this project)
the code compiles and links with MSVC but not with GCC/Clang ld/lld/mold
under Linux
tested with Boost 1.84.0 - needs Boost::serialization
----
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld:
CMakeFiles/linux_link_error_test.dir/main.cpp.o: in function
`boost::archive::detail::iserializer
someone at reddit gave me at hint to use signed int for the version::value
when i change the version routine in serialize_MyType.hpp to use int it
links
template
participants (1)
-
Dennis Luehring