Boost logo

Boost-Build :

Subject: Re: [Boost-build] msvc 64-bit test targets vs. maifest files
From: Mat Marcus (mat-lists_at_[hidden])
Date: 2008-10-13 14:04:26


On Sun, Oct 12, 2008 at 10:26 PM, Vladimir Prus
<vladimir_at_[hidden]> wrote:
> Mat Marcus wrote:
[snip]
>>> Do you know the location of the CRT library found at link time?
>>
>> Some research reveals that one copy is located at:
>>
>> C:\Program Files (x86)\Microsoft Visual Studio
>> 9.0\VC\Debug_NonRedist\amd64\Mcirosoft.VC90.DebugCRT
>>
>> (For completeness, the path to the 32-bit one replace amd64 with x86)
>
> OK.
>
>>
>>> It probably has a .manifest file giving
>>> the names of actual .dll files. Are those .dll founds located in directory in PATH?
>
> What are the answers to these questions?
>
The names of the actual DLLs in the manifest are:
msvcr90d.dll
msvcp90d.dll
msvcm90d.dll

These don't appear to be located in my PATH. They live in the
nonredistributable dir, under the Dev Studio hierarchy, and they also
seem to reside under:

C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2

When I manually copy the DLLs and manifest to the directory of my test
app, the test app runs successfully.

[snip]

>> P.S. FWIW, one other issue was that I think I had to add the path to
>> (the 32-bit) cl.exe to my user-config.jam, since the fact that Dev
>> Studio gets installed under "Program Files (x86)" by default on vista
>> 64 seemed to take boost build by surprise.
>
> Can you go to tools/msvc.jam, find a line reading:
>
> .ProgramFiles = [ path.make [ common.get-program-files-dir ] ] ;
>
> and add:
>
> ECHO "Program Files is" $(.ProgramFiles) ;
>
> after it and report what it prints? Are there are two ProgramFiles directories --
> for 32 and 64-bit programs?
>
> - Volodya

Yes, there are two program files directories. Apparently plain old
"Program Files" is for 64-bit apps, while "Program Files (x86)" seems
to be for 32-bit apps, including most of VS 2008 (the VC dir, etc.)
Under my usual cygwin bash shell, bjam ECHOs "/c:/Program Files".
Interestingly, when (for debugging purposes) I run the same bjam from
the cmd.exe shell, the ECHO statement yields "/C:/Program Files
(x86)".


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