Version française
Home     About     Download     Resources     Contact us    
Browse thread
C++ & Caml: name clash
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Xavier Leroy <Xavier.Leroy@i...>
Subject: Re: C++ & Caml: name clash
>   My second problem has to do with a name clash between 
> the g++ standard library, and the alloc.h file from Caml. 
> It turns out that the function "alloc" is defined by g++
> in file /usr/include/g++-2/stl_alloc.h as:
> 	typedef class __default_alloc_template<true,0> alloc
> In caml it is defined in include/alloc.h as:
> 	value alloc(mlsize_t, tag_t) 
> 
>   This does not allow compiling a file that #includes both 
> Caml and g++ header files. 

The easiest solution, it seems, would be to split your source in two
files, one in plain C (or perhaps C++ but not using the STL)
containing just the Caml wrappers for your functions, and another one
defining your functions in C++ with STL without reference to the Caml
include files.

Hope this helps,

- Xavier Leroy