|
Boost-Build : |
Subject: Re: [Boost-build] [boost] Boost build problem
From: Michael Weber (michael.weber_at_[hidden])
Date: 2009-09-28 11:59:18
On Mon, Sep 28, 2009 at 12:41 AM, Johan Nilsson
<r.johan.nilsson_at_[hidden]> wrote:
>
> Ian Emmons wrote:
>>
>> Starting with Visual Studio 2005 (msvc-8), linkage to the run-time
>> libraries depends on Microsoft's infrastructure for side-by-side
>> execution of different versions of the same DLL. This is Microsoft's
>> attempt to solve the "DLL Hell" problem, in which an executable
>> transparently links to the first instance of a DLL found on the path,
>> independent of any version dependency. Clearly, this is a big
>> advance, but it comes at the cost of complexity. As far as I know,
>> the only way to deploy the C/C++ run-time is to install the .Net
>> framework (which contains the side-by-side execution infrastructure).
>> So EXE's and DLL's built with Visual Studio 2005 (msvc-8) require
>> the .Net 2.0 run-time, and those built with Visual Studio 2008
>> (msvc-9) require .Net 3.5.
>
> AFAIK, .NET runtime is not needed for _native_ C++ applications. Just installing the runtime using the supplied merge modules (CRT + policy) should work just fine.
>
> IIRC it is also _possible_ (even though perhaps not officially supported) to install the needed runtime DLLs in the same directory as the executable with a specially crafted external manifest.
>
> / Johan
Installation of .net is not necessary -- Microsoft distributes
installers for the runtime alone. Make sure you find the one specific
to your build tool -- i.e., MSVS2005 / 2008, and with or without the
corresponding SP1.
e.g., here is the installer for MSVS2008 SP1:
The bottom of that page has links to 2005 runtimes, and runtimes with
/ without MSVS 200x SP1.
Michael
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk