[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2010-04-15 (19:16) |
From: | Lally Singh <lally.singh@g...> |
Subject: | Re: [Caml-list] Statically linked win32 libcamlrun.lib? |
On Thu, Apr 15, 2010 at 2:59 AM, Dmitry Bely <dmitry.bely@gmail.com> wrote: > On Thu, Apr 15, 2010 at 3:39 AM, Lally Singh <lally.singh@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. Thanks, I've tried this instead, and I can't get through make -f Makefile.nt bootstrap without: ../../boot/ocamlrun ../../ocamlc -nostdlib -I ../../stdlib -w s -c -warn-error A -g -I ../win32unix bigarray.mli File "bigarray.mli", line 384, characters 4-19: Error: Unbound type constructor Unix.file_descr make[2]: *** [bigarray.cmi] Error 2 I guess using the flexlink hack just moved whatever underlying problem I'm having to a later stage. > >> 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 >