
Anthony Williams schrieb:
klaus triendl
writes: are boost::mutexes from different boost versions ABI compatible, provided that the modules (boost thread library, my own) are compiled with the same compiler?
In general, no. In particular cases, yes: the boost::mutex implementation changes very rarely.
The breaking changes I can remember were 1.34.1/1.35.0 and 1.35.0/1.36.0
My question arises because I'm creating a windows DLL with class methods taking a boost::mutex& from let's say boost 1.38, but an application (the EXE) might use e.g. boost 1.39.
Boost 1.38 and 1.39 should be compatible; the code is almost completely unchanged (I think there was a fix for some broken code, but the old version was broken).
Do the breaking changes concerning the ABI get announced somewhere? The DLL compiled with boost mutex from 1.38 and the application using boost 1.39 are just examples. If I could specify a boost version range for the DLL's usage howto, this would be helpful. Thanks, Klaus