Thank you very much!  I follow the general lines, but...
 
* Make sure no C++ exceptions leak to OCaml.

This will be next to impossible: the C++ code I need to wrap is huge, and I have no idea of what possible exceptions can be generated.  I will have to try to see if there is a generic exception catcher. 
 
* Wrap your OCaml includes in 'extern "C" { ... }"

Here, I am not sure what you mean.  You mean, 

extern "C" {
#include <caml/mlvalues.h>
...
}

 
* Export all your stub functions with C linkage (extern "C")

Ok, evidently, I need to learn this extern "C" construct.
 
* Compiling is tricky, since the OCaml compiler driver doesn't know what
to do with C++.  The Swig documentation[1] has a workaround for this,
useful even if you don't use Swig.


Why would the Ocaml compiler driver need to know what to do with C++? 
The C++ I need to link to is rather huge, and I will need to compile it with its own build setup. 
Once that is built, I need to compile the stubs, the Ocaml, and link the three together (Ocaml, stubs, and C++), in native mode, but  why would the Ocaml compiler need to deal with C++? 
 
Another question: I could also try to do the vice-versa, and use Ocaml as libraries from C++.  Has anybody tried doing this?  Is it easy to do? 

Luca