Solo estoy agregando esto para el registro, en caso de que alguien más tenga este problema en el futuro.
Tuvimos un problema similar con un proyecto grande, mixto FORTRAN/C++ que volvía a vincular si algo había cambiado o no. Parece haber comenzado cuando la solución se actualizó de VS2008 a 2010, aunque nadie podía recordarlo del todo.
Finalmente, lo analicé seriamente (era molesto, pero no lo suficiente como para hacer algo). Por proceso de eliminación, he encontrado la solución:
Elimine las comillas en los "Directorios adicionales de la biblioteca" del proyecto FORTRAN de nivel superior (es decir, el que crea el ejecutable).
Ahora, no me lo creería esto mismo sin pruebas, por lo que si usted tiene la necesidad de reproducirse a sí mismo este error:
- Abrir una nueva sesión VS2010.
- Cree un nuevo proyecto FORTRAN que haga un ejecutable.
- Déjelo vacío, pero vinculelo a un archivo lib no incorporado (es decir, uno propio) y agregue el directorio de su biblioteca a los directorios adicionales de la biblioteca.
- Compruebe estas compilaciones y enlaces correctamente.
- Ahora intenta añadiendo comillas (") en todo el directorio, y haga clic en 'Build' varias veces. Si la sesión es como la mía, a continuación, se vuelve a vincular cada vez. Al quitar las comillas, que se detenga.
Esto sólo parece ser un problema en el proyecto de nivel superior, y cuando esos proyectos son FORTRAN - las cotizaciones no tienen ningún efecto sobre proyectos de C++ o aquellos que crean bibliotecas
el reenlazado no se produce si VS hace. no es necesario buscar las librerías (por ejemplo, si todas sus librerías están incorporadas, como kernel32.lib), sino que ocurrirá independientemente de si su lib está en el directorio que tiene comillas o una diferente.
Si alguien puede justificar esta "característica", ¡por favor hágamelo saber!
Ver también: http://stackoverflow.com/questions/2762930/vs2010-always-thinks-project-is-out-of-date-but-nothing-has-cambió para la misma pregunta causada por archivos faltantes en lugar de que un archivo PDB. – Ben