[LLVMdev] Compiling Kaleidoscope on Windows

Óscar Fuentes ofv at wanadoo.es
Sun Jan 31 12:02:57 PST 2010

Russell Wallace <russell.wallace at gmail.com> writes:

> Three of the libraries are not found: LLVMX86Disassembler.lib
> LLVMMCParser.lib LLVMInstCombine.lib ... the third one of those sounds
> like it might be important, what does it do exactly?

A transformation pass. If the program works without it, I don't think it
is important unless you care about optimization.

It is strange that those libraries are absent from the build, though.

> But specifying the rest of them with /MD completes the build with this message
>    Creating library toy.lib and object toy.exp
> LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of
> other libs; use /NODEFAULTLIB:library
> And generates toy.exe; when I run this, and test it by typing 1+2; it
> crashes with no error message. Any idea what the problem might be?

Most likely this is due to mixing compiled code wich was built with
different settings. Most specifically, your LLVM libraries possibly are
a debug build, so /MDd (which links the debug-mode variant of the VC
runtime libraries) was used for them.

> (Tried it again with /MDd, and the resulting toy.exe successfully
> evaluates 1+2, though crashes as before when I exit with ^Z.)

Possibly some bug related to cleaning up memory on exit.

More information about the llvm-dev mailing list