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

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Ohad Rodeh <orodeh@c...>
Subject: Calling C++ from Caml
Hello,
  I'm trying to use C++ code from within Caml. Currently,
the compiler cannot find the requested functions in the compiled
C++ code. 

  A very simple example fails. I have two files:
dh.ml : ML code
xx.cpp : C++ code

The C++ code contains the function:
	value dhml_Try(value dummy) {
	   return Val_unit;
	}
The ML code calls dhml_Try using:
	external dhml_Try : unit -> unit 
	  = "dhml_Try"

	let _ = 
	   dhml_Try();
	   ()	

The compilation seqeunce is as follows:
	c++ -c -w -I$(CAMLLIB) xx.cpp -o xx.o
	ocamlc -c dh.ml
	ocamlc -cc c++ -custom -o dh  xx.o dh.cmo	
/tmp/ccEPQ4W1.o(.data+0x248): undefined reference to `dhml_Try'

  If I use the gcc compiler with C code, instead of C++, this 
sequence works fine. How can I fix this problem? 

    Thanks,
	Ohad.