On Thu, Apr 15, 2010 at 3:39 AM, Lally Singh <lally.si...@gmail.com> wrote:

>  Is it possible to statically link libcamlrun.lib, so it'll work with
> libcmtd.lib instead of msvcrt.dll?  I've tried:
>
> FLEXLINK=flexlink -merge-manifest -link /nodefaultlib:msvcrt.lib -link
> libcmtd.lib

Please don't use "brute force" methods. If you need statically linked
MSVC runtime, just replace /MD with /MT (or /MTd) in config/Makefile.

> in config/Makefile, and it all builds. However, I still get:
>
> libcamlrun.lib(sys.obj) : error LNK2019: unresolved external symbol
> __imp__system referenced in function _caml_sys_system_command
> libcamlrun.lib(floats.obj) : error LNK2019: unresolved external symbol
> __imp__frexp referenced in function _caml_frexp_float
> libcamlrun.lib(floats.obj) : error LNK2019: unresolved external symbol
> __imp__modf referenced in function _caml_modf_float
> libcamlrun.lib(startup.obj) : error LNK2019: unresolved external
> symbol __imp__sscanf referenced in function _scanmult
> libcamlrun.lib(startup.obj) : error LNK2019: unresolved external
> symbol __imp___beginthread referenced in function _caml_main
>
> Any thoughts?

Ocaml expects C runtime functions exported from a DLL (they have
__implib prefix). No surprise - MSVC runtime is not a link time choice
and requires correct compile time flags.

> Sadly I have to do it this way -- we're linking a -output-obj'd .obj
> into our DLL (which must be statically linked to the runtime) and then
> linking libcamlrun.lib to that -- or at least hoping to.
>
> Thanks in advance for any help!

- Dmitry Bely

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to