Specify PDB Path in Visual Studio 2003

In Visual Studio 2003, if I link to a library that does not have a corresponding PDB file, I get a warning:

foo.lib (bar.obj): warning LNK4099: PDB 'other.pdb' not found; object binding, as if there is no debugging information

If the PDBs are in the original location of the assembly, VS can find them, as well as if they are in the current directory of the assembly, but it looks like this. Is there a way I can tell Visual Studio exactly where to look for a PDB? I have a vague idea that the character server can work, but that seems like a lot of overhead; I'm just looking for something like link.exe /pdbpath c:\pdbs_are_right_here that adds the search path, for example /I adds the inclusion path. Also, are there other paths he is looking for besides the current directory and the original absolute path to which the PDB was written?

+6
source share
1 answer

I believe that the path to the corresponding pdb is built into the libraries themselves, and you can change it to c: \ pdbs_are_right_here on the build switches for your libraries (if they are really yours, not third-party ones).

For a DLL, this means that the project properties are \ linker \ debugging \ generate program database file.

For static libraries, the default name is uniform in VS2013 ('vc120.pdb'), but I think this has changed in VS2015 and has no idea about VS2003. In any case, if you are working in VS2013 \ 2012 \ 2010, you will have to explicitly override this name.

0
source

Source: https://habr.com/ru/post/916097/


All Articles