[Botan-devel] New win32 binaries

Jack Lloyd lloyd at randombit.net
Tue Mar 16 16:28:34 EDT 2010


On Tue, Mar 16, 2010 at 08:11:27PM +0000, James Mansion wrote:
> Jack Lloyd wrote:
> > http://botan.randombit.net/files/win32/botan-1.9.5-dev.exe
> >
> > This was generated from mainline. Using VC2008 with /MD
> > (multithreaded+dynamic link).
> >
> > I'd be curious if it works anywhere that's not my XP VM.
> > _______________________________________________
> > botan-devel mailing list
> > botan-devel at randombit.net
> > http://lists.randombit.net/mailman/listinfo/botan-devel
> >   
> I'm on a win7/64 machine with vs2008 express installed.
> 
>  From a vs2008 command prompt builds go OK, but trying to run it gives:
> 
> The program can't start because MSVCP90.dll is missing from your computer.

I think this is the same problem as here:
  http://stackoverflow.com/questions/1158705/msvcp90-dll-not-found

Solution being copying msvcp90.dll from the redist directory
(the stackoverflow post gives as the path
"C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT",
my VM is shut down so I can't check that ATM) to c:\windows\system32,
or else installing the redistributable package at
http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
though I think that is not necessary since you have vc2008 installed,
so what you already have in redist should be the same files as what is
in the package.

This is a side-effect of building it with /MD ("Be aware that if you
use the Standard C++ Library, your program will need MSVCP90.DLL to
run.") - http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx

http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx (love these
URLs) says that if you define _STATIC_CPPLIB with /MD, you get a DLL C
runtime with static C++ runtime. I would think that the C runtime is
everywhere so that might be OK; I had expected the C++ runtime would
be as well, but clearly not. Things are strange in Windows-land. :/

It's unclear to me if there is a better solution for this. /MT does
multithreading, static link, meaning no DLL is needed... but I'm not
sure if this means duplicate copies of the C++ runtime are included,
or if this causes other weird problems. I really don't understand
Windows runtime linking and related issues that well.

-Jack



More information about the botan-devel mailing list