Browse thread
Re: [Caml-list] Linking native ocaml object files into C app on Windows
- peter.ilberg@n...
[
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: | -- (:) |
| From: | peter.ilberg@n... |
| Subject: | Re: [Caml-list] Linking native ocaml object files into C app on Windows |
That's it! Everything builds, links and runs fine! Thank you!
Peter
Xavier Leroy <xavier.leroy@inria.fr>
06/10/2004 12:04 PM
To: peter.ilberg@ni.com
cc:
Subject: Re: [Caml-list] Linking native ocaml object files
into C app on Windows
> I'm trying to add some ocaml code (a simple lexer/parser) to an existing
C
> application and I'm having problems linking the whole thing on Windows.
> Needless to say, everything works fine under Unix (Mac OS X). I'm using
> the MSVC version of ocaml.
>
> Here's are the commands that I use to build the whole thing:
>
> cl /c /nologo /MT /I "C:\Program Files\Objective Caml\lib" main.c
> ocamllex lexer.mll
> ocamlopt -c -output-obj lexer.ml -o lexer.obj
Three problems:
1) -c turns linking off, while you really want to do a
(partial) link here.
2) The compilation of lexer.ml already
produces lexer.obj, so you give lexer.obj both as input and as output
to the partial linker, which can break things.
3) With the MSVC port, the output of the partial linker is a .lib file,
not a .obj file, so it would be prudent to name the output
appropriately.
Try this instead:
ocamlopt -output-obj -o lexer.lib lexer.ml
Hope this helps,
- Xavier Leroy
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners