[ODE] ODE and the STL

Jon Watte (ODE) hplus-ode at mindcontrol.org
Mon Dec 25 11:25:17 MST 2006



Daniel K. O. wrote:
> 2006/12/24, Jon Watte (ODE) <hplus-ode at mindcontrol.org>:
>> If you use STL in ODE, then everyone will have to compile ODE
>> themselves, because they might have different STL versions (STLPort,
>> GNU, various versions, various Microsoft STL versions, etc etc ad 
>> infinum)
> 
> Not true if you restrict the STL for internal use - that is, do not
> expose it through the API - which is pretty reasonable, as ODE is a C
> library. I've DLLs with 3 different STL implementations (GNU
> libstdc++, MS, STLport), and never had any problem. So the problem



On Windows, which has a "sealed" linkage model, that can work, assuming 
that each STL implementation has a unique name for its DLL.

On Linux, where symbols "leak" between containers (using one unified 
symbol table,) we're not so lucky. Also, different versions of the 
"system" STL within the same process is not as smoothly handled as on 
Windows.

Thus, again, unless there is a very compelling reason to introduce STL, 
I would suggest re-writing it without that dependency.

Cheers,

			/ h+


More information about the ODE mailing list