<div class="gmail_quote">On Sat, May 12, 2012 at 12:22 PM, WhatMeWorry <span dir="ltr"><<a href="mailto:kc_heaser@yahoo.com" target="_blank">kc_heaser@yahoo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Looks like you are trying to link. Libraries are not linked they are just compiled. Then object files are put together into library file.<br>
Link produces *executable* (yeah I recall that was hard to get at first).<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
</blockquote></blockquote>
<br></div>
Wait, isn't that the whole point of libraries, that they are pre-compiled? Linking just resolves their addresses?<br></blockquote><div><br></div><div>Yes and no. You have to link *dynamic* libraries to resolve addresses, but you're dealing with a static library. "Static library" is to some extent a misnomer because you don't link them at all; they're basically a bunch of object files thrown into an archive file. Addresses get resolved when you link an executable and all those object files get included from inside the archive.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Anyway, I set the LIB environment variable to point to where my druntime and phobos libraries (with absolute paths even) like so:<br>
<br>
set LIB=C:\D\dmd2\src\druntime\<u></u>lib;C:\D\dmd2\src\phobos<br>
<br>
but when I redo the link step,I am still seening the undefined symbols like in my original posting.<br>
<br>
I love programming, but I hate building. Is this what Andrei means by code for "being" as opposed to code for "doing:.<br>

<br></blockquote><div><br></div><div>One of the downsides of native compilation is that the toolchain is a much more complex system than it is with VM languages (and interpreted languages don't need a toolchain at all).</div>

<div><br></div><div>Unfortunately, I use GDC on Windows and Linux, so I can't tell you exactly the command to create a static library with DMD, but I can tell you that you don't need to invoke optlink.</div></div>

<br>