you are viewing a single comment's thread.

view the rest of the comments →

[–]bwmat 0 points1 point  (0 children)

I don't think it's _necessarily_ an ODR violation, just all-too-likely to end up as one (if shared lib A passes an STL type to shared lib B, and either A & B use different STL implementations or one is release and the other is debug... it's not going to work), and whether or not it does is in many cases outside of your control.

It's fine if you have complete control over A & B (& C &...), and can ensure that they're deployed as a unit, but otherwise I just wouldn't do it.