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
> Mat Marcus wrote:
>>> 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
>> (For completeness, the path to the 32-bit one replace amd64 with x86)
>>> 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:
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:
When I manually copy the DLLs and manifest to the directory of my test
app, the test app runs successfully.
>> 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
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