<div dir="ltr">Hi,<br><br>Does anyone a little bit more experienced with the Erlang build mechanism know how to compile and link Erlang with libcmt instead of msvcrt?<br>The default mechanism builds Erlang with the /MD switch which means the C standard libraries are accessed as threaded dll MSVCR??.DLL. This also means you cannot simply copy Erlang to another computer as long as the correct C runtime is not installed there.<br>
<br>I am trying to figure out how to statically bind the libcmt library. Normally you do this by using the /MT switch.<br><br>So far I tried to change the erts\etc\win32\cygwin_tools\vc\cc.sh and ld.sh scripts but with no good effects. I always get the usual error messages like if you mix libraries compiled with different switches.<br>
<br>In cc.sh setting<br>
  MD_FORCED=true<br>
  MD=-MT<br>
and in ld.sh<br>
  STDLIB=LIBCMT.LIB<br><br>just leads me to:<br><br>LIBCMT.LIB(dosmap.obj) : error LNK2005: __dosmaperr already defined in dosmap.o<br>   Creating library c:/dev/erlang/ErlangOTP/otp_src_R12B-4/bin/win32/erl_dll.lib and object c:/dev/erlang/ErlangOTP/otp_src_R12B-4/bin/win32/erl_dll.exp<br>
c:/dev/erlang/ErlangOTP/otp_src_R12B-4/bin/win32/beam.smp.dll : fatal error LNK1169: one or more multiply defined symbols found<br><br>Thank you!<br><br>Regards,<br>Michael<br></div>