2012-05-18 23 views
6

En Visual Studio 2003, si puedo enlazar con una biblioteca que no tiene su correspondiente archivo PDB, recibo una advertencia:AP en Visual Studio 2003

foo.lib (bar.obj) : advertencia LNK4099: PDB 'other.pdb' no se encontró; vincular el objeto como si no hubiera información de depuración

Si los PDB están en su ubicación de compilación original, VS los puede encontrar, así como si están en el directorio de compilación actual, pero eso parece ser. ¿Hay alguna manera de decirle a Visual Studio exactamente dónde debe buscar los PDB? Tengo la vaga idea de que un servidor de símbolos podría funcionar, pero eso parece una gran sobrecarga; Estoy buscando algo como link.exe /pdbpath c:\pdbs_are_right_here que agrega una ruta de búsqueda, como /I agrega una ruta de inclusión. Alternativamente, ¿hay otras rutas que busque además del directorio actual y la ruta absoluta original en la que se escribió el PDB?

Respuesta

0

Creo que la ruta a los pdb correspondientes está incrustada en las bibliotecas, y puede cambiarla a c: \ pdbs_are_right_here en los modificadores de compilación para sus bibliotecas (suponiendo que sean de su propiedad y no de terceros).

Para DLL que significa propiedades de proyecto \ linker \ debugging \ generate archivo de base de datos de programa.

Para bibliotecas estáticas el nombre por defecto es uniforme en VS2013 ('vc120.pdb'), pero creo que esto cambió en VS2015 y no tienen idea acerca de VS2003. De todas formas, si está trabajando en VS2013 \ 2012 \ 2010, también deberá anular explícitamente el nombre.

Cuestiones relacionadas