¿Por qué se produce el error fatal “LNK1104: no se puede abrir el archivo ‘C: \ Program.obj'” cuando compilo un proyecto de C ++ en Visual Studio?

Creé un nuevo proyecto de C ++ en Visual Studio 2008. Aún no se ha escrito ningún código; Solo la configuración del proyecto ha sido modificada.

Cuando compilo el proyecto, recibo el siguiente error fatal:

error fatal LNK1104: no se puede abrir el archivo ‘C: \ Program.obj’

Este problema particular se debe a que especifica una dependencia a un archivo lib que tiene espacios en su ruta. La ruta debe estar rodeada de comillas para que el proyecto se compile correctamente.

En Propiedades de configuración -> Enlazador -> pestaña Entrada de las propiedades del proyecto, hay una propiedad Dependencias adicionales . Este problema se solucionó al cambiar esta propiedad de:

C: \ Archivos de progtwig \ software sdk \ lib \ library.lib

A:

“C: \ Archivos de progtwig \ software sdk \ lib \ library.lib”

Donde agregué las cotizaciones.

Esto puede suceder si el archivo aún se está ejecutando también.

: -1: error: LNK1104: no se puede abrir el archivo ‘debug \ ****. Exe’

El problema desapareció después de cerrar y volver a abrir Visual Studio. No estoy seguro de por qué ocurrió el problema, pero podría valer la pena intentarlo.

Esto fue en VS 2013 Ultimate, Windows 8.1.

Compruebe también que no tiene activado esto: Propiedades de configuración -> C / C ++ -> Preprocesador -> Preprocesar a un archivo .

Tuve el mismo problema. Fue causado por un “,” en el nombre de una carpeta de la ruta de la biblioteca adicional. Se solucionó cambiando la ruta de la biblioteca adicional.

Mi problema era una extensión .lib faltante, solo estaba vinculando contra mylib y VS decidió buscar mylib.obj .

En mi caso, se trataba de una referencia mal dirigida. El proyecto hizo referencia al resultado de otro proyecto, pero este último no produjo el archivo donde el primero estaba buscando.

Para un proyecto de ensamblaje (Nombre del proyecto -> Dependencias de comstackción -> Personalizaciones de comstackción -> masm (seleccionado)), establecer Generar el listado de orígenes preprocesados en True también me causó el problema, borrando la configuración que lo solucionó. VS2013 aquí.

Me encuentro con el mismo problema con el enlazador quejándose del ejecutable principal que falta. Esto sucedió durante nuestro puerto de solución al nuevo Visual Studio 2013 . La solución es una variada combinación de proyectos / código administrados y no gestionados. El problema (y la corrección) terminó siendo un archivo app.config perdido en la carpeta de la solución. Tomó un día para resolver esto :(, ya que el registro de salida no fue muy útil.

Comprobé toda mi configuración de acuerdo con esta lista: http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . Es útil para mí y para mi situación, descubro que la dependencia de enlace de las propiedades de los proyectos tiene comillas dobles, que no deberían estar allí.

Tuve el mismo error, solo con un paquete Nuget que había instalado (uno que no es solo el encabezado) y luego intenté desinstalarlo.
Lo que estaba mal para mí era que todavía estaba incluyendo un encabezado para el paquete que acabo de desinstalar en uno de mis archivos .cpp (bastante tonto, sí).
Incluso eliminé el enlace de los directorios de la biblioteca adicionales en Project -> Properties -> Linker -> General , pero, por supuesto, fue en vano ya que todavía estaba tratando de hacer referencia al encabezado inexistente.

Definitivamente un mensaje de error confuso en este caso, ya que el nombre del encabezado era pero el error me dio "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'" y no hay números de línea ni nada .

Estoy respondiendo porque no veo esta solución en particular listada por nadie más.

Aparentemente, mi antivirus (Ad-Aware) marcaba una DLL de la que depende uno de mis proyectos y la borraba. Incluso después de excluir el directorio donde vive la DLL, el mismo comportamiento continuó hasta que reinicié mi computadora.

Tuve el mismo problema, pero la solución para mi caso no figura en las respuestas. Mi progtwig antivirus (AVG) determinó el archivo MyProg.exe como un virus y lo colocó en el “almacén de virus”. Debe verificar este almacén y si el archivo está allí, simplemente restaure. Me ayudó.

Solución 1 (para mi caso): reinicie el proceso de Windows Explorer (sí, el administrador de archivos de Windows).

Solución 2:

  1. Cierre Visual Studio. Cierre de sesión de Windows
  2. Inicie sesión, vuelva a abrir Visual Studio
  3. Construir como de costumbre Ahora construye y puede acceder al archivo problemático.

Supongo que a veces el sistema de archivos o quienquiera que lo esté controlando se pierde con sus permisos. Antes de reiniciar la sesión de Windows, intenté eliminar los procesos de zombie msbuild32.exe , reiniciar Visual Studio, comprobar ninguno y mostrar el archivo problemático. Sin problemas de configuración de comstackción. Sucede de vez en cuando. Algo interno en Windows no se soluciona, necesita un reinicio.

En mi caso, había reemplazado los archivos de la biblioteca matemática de un curso anterior de Game Engine Graphics con GLM. El problema fue que no los agregué al proyecto dentro del Explorador de soluciones de Visual Studio (aunque estaban en el repository del proyecto).

Tuve este problema junto con el error LNK2038, seguí esta publicación para segregar los archivos DLL LIBERACIÓN y DEBUG. En este proceso, había limpiado toda la carpeta donde residían estas dependencias.

Afortunadamente tuve una copia de seguridad de todos estos archivos, y obtuve el archivo por el cual este error volvía a la carpeta DEBUG para resolver el problema. El código de error fue engañoso de alguna manera ya que tuve que pasar mucho tiempo para llegar a este consejo de una de las respuestas de esta publicación de nuevo.

Espero que esta respuesta, ayude a alguien en necesidad.

Lo resolví agregando un proyecto existente a mi solución , que olvidé agregar la primera vez.

Yo tenía el mismo error:

 fatal error LNK1104: cannot open file 'GTest.lib;' 

Esto fue causado por el ; al final. Si tiene varias bibliotecas, deben estar separadas por espacio vacío (barra espaciadora), ¡sin coma ni puntos y comas!

Entonces no uses ; o cualquier otra cosa al listar bibliotecas en Propiedades del proyecto >> Propiedades de configuración >> Enlazador >> Entrada

Estaba teniendo el mismo problema, acabo de copiar el código al nuevo proyecto y comencé la comstackción. Algún otro error comenzó a llegar. error C4996: ‘fopen’: Esta función o variable puede ser insegura. Considera usar fopen_s en su lugar

Para resolver este problema de nuevo, he agregado mi propiedad en el proyecto del proyecto como se muestra a continuación. Proyecto -> Propiedades -> Propiedad de configuración -> c / c ++. En esta categoría hay definiciones de preprocesador de nombre de campo. He agregado _CRT_SECURE_NO_WARNINGS para resolver el problema Espero que ayude …

Gracias