Calling C++ from Caml

From: Ohad Rodeh (orodeh@cs.huji.ac.il)
Date: Sun Apr 16 2000 - 15:40:44 MET DST

  • Next message: John Max Skaller: "Re: When functional languages can be accepted by industry?"

    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.



    This archive was generated by hypermail 2b29 : Mon Apr 17 2000 - 20:55:36 MET DST