stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: [PING] Re: svn commit: r588290 - /incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js
Date Wed, 07 Nov 2007 20:35:11 GMT
Farid Zaripov wrote:
>> -----Original Message-----
>> From: Martin Sebor [mailto:sebor@roguewave.com] 
>> Sent: Tuesday, November 06, 2007 2:11 AM
>> To: stdcxx-dev@incubator.apache.org
>> Subject: Re: [PING] Re: svn commit: r588290 - 
>> /incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js
>> I think I understand this part: The .pdb file needs to be in 
>> the same directory as the library for the debugger to find it 
>> on is own.
>>
>> IIUC, in 4.2.0 we have it in the wrong directory and Farid's 
>> patch makes the linker put in the same directory as the lib. 
>> Do I have it right, Farid?
> 
>   Not linker, but librarian (lib.exe). And what do you mean by "wrong
> directory"?

Liviu asked in his post below if it would be possible to "generate
a pdb file in the lib directory" so, presumably, in 4.2.0 the .pdb
file is in some other directory. IIUC, you changed the directory
where the file is placed from what you call $(IntDir) to $(OutDir)
in 588290. So by the "wrong directory" I mean $(IntDir), with
$(OutDir) (presumably) being the right one.

http://www.nabble.com/Use-of--Fd-option-on-Windows-tf4691559.html

> 
>   The absolute .pdb file path stored in each .obj file (and the .lib
> file in static builds
> is the archive of the .obj files), so .pdb file will be found by linker
> if you don't move it.

What if you install the library in some non-default location or on
a different drive? E.g., what if you install Visual Studio in such
a location? If the object files contain the absolute pathname of
the .pdb files does it mean that the debugger won't be able to find
the debugging symbols for the Visual Studio libraries?

Or can the pathname of the .pdb files be a relative one, perhaps
WRT the library?

> But if you copied the .lib file from the %BUILDDIR%/lib directory to
> another computer
> and build some project, which is uses that library, you need also copy
> the
> corresponding vcx0.pdb file from the %BUILDDIR%/src directory. This is
> for 4.2.0.

So if I build 4.2.0 in, say c:\sebor\stdcxx-4.2.0\lib, i.e., I have
c:\sebor\stdcxx-4.2.0\lib\libstdcxx.4.2.0.lib, where will the .pdb
file be? And if Liviu installs stdcxx 4.2.0 in d:\libs\stdcxx\lib,
i.e., he has d:\libs\stdcxx\lib\libstdcxx.4.2.0.lib, where does he
need to put the .pdb file (and what is its full name)?

> 
>   In 4.2.x you still need copy the corresponding .pdb file, but in this
> case from the
> directory where the .lib file is located and the name of the .pdb file
> coincide with
> the name of .lib file.

Martin


Mime
View raw message