Warum funktioniert fatale Fehler „LNK1104: kann Datei nicht öffnen‚C: \ Program.obj‘“ auftreten, wenn ich ein C ++ Projekt in Visual Studio kompilieren?

StackOverflow https://stackoverflow.com/questions/133698

  •  02-07-2019
  •  | 
  •  

Frage

Ich habe ein neues C ++ Projekt in Visual Studio erstellt 2008 noch kein Code geschrieben wurde; Nur Projekteinstellungen geändert wurden.

Als ich das Projekt kompilieren, erhalte ich folgende fatalen Fehler:

  

schwerwiegender Fehler LNK1104: kann Datei nicht öffnen 'C: \ Program.obj'

War es hilfreich?

Lösung

Dieses besondere Problem wird verursacht durch eine Abhängigkeit zu einer Lib-Datei angeben, die Leerzeichen in seinem Weg hatte. Der Pfad muss in Anführungszeichen gesetzt werden, damit das Projekt richtig kompilieren.

Auf dem Konfigurationseigenschaften -> Linker -> Input die Eigenschaften des Projektes, gibt es eine Zusätzliche Abhängigkeiten Eigenschaft. Dieses Problem wurde behoben, indem Sie diese Eigenschaft ändert:

  

C: \ Programme \ Sofware   sdk \ lib \ Library.lib

An:

  

“C: \ Programme \ Sofware   sdk \ lib \ Library.lib "

Wo ich hinzugefügt, um die Anführungszeichen.

Andere Tipps

Dies kann passieren, wenn die Datei auch noch ausgeführt wird.

  

: - 1: Fehler: LNK1104: kann Datei nicht öffnen. 'Debug \ **** exe'

Das Problem ging weg für mich nach dem Schließen und Wiederöffnen von Visual Studio. Nicht sicher, warum das Problem passiert ist, aber das könnte einen Versuch wert sein.

Dies war auf VS 2013 Ultimate von Windows 8.1.

Überprüfen Sie auch, dass Sie nicht über diese eingeschaltet. Konfigurationseigenschaften -> C / C ++ -> Preprocessor -> Preprocess in eine Datei

Ich hatte das gleiche problem.It verursacht durch eine „“ im Namen eines Ordners zusätzlicher Bibliothek path.It gelöst, indem den zusätzlichen Bibliothekspfad zu ändern.

Mein Problem war, eine fehlende .lib Erweiterung, ich war die Verknüpfung nur gegen mylib und VS entschieden für mylib.obj zu suchen.

In meinem Fall war es eine Frage eines Fehl gerichtet Referenz. Projekt verweist die Ausgabe eines anderen Projekts, sondern die letztere aber keine Ausgabe die Datei, in der ehemalige suchte.

Für eine Montage-Projekt (Projektname -> Build-Abhängigkeiten -> Build Anpassungen -> masm (ausgewählt)), das Setzen von generieren vorverarbeiteten Quellenauflistung True verursacht das Problem für ich auch, das Löschen der Einstellung es fixiert. VS2013 hier.

Ich laufe in das gleiche Problem mit Linker über die ausführbare Haupt fehlenden beschweren. Dies geschah während unserer Lösung Anschlusses an das neue Visual Studio 2013 . Die Lösung ist eine abwechslungsreiche Mischung aus verwaltet und un-verwalteten Projekten / code. Das Problem (und fix) endeten als eine fehlende app.config Datei im Lösungsordner. Nahm einen Tag, dies ausrechnen :(, als Ausgabeprotokoll nicht sehr hilfreich war.

Ich habe alle meine Einstellungen nach dieser Liste: http: // msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . Es ist hilfreich für mich und für meine Situation, finde ich heraus, dass Link-Abhängigkeit von Projekten Eigenschaften hat doppelte Anführungszeichen, die nicht da sein sollte.

hatte ich den gleichen Fehler, nur mit einem Nuget Paket i installiert hatte (eine, die nicht nur Header) und dann versucht zu deinstallieren.
Was für mich nicht falsch war, dass ich noch ein Header für das Paket einschließlich i nur in einem meiner CPP-Dateien deinstalliert (ziemlich albern, ja).
Ich entfernte auch die zusätzlichen Bibliotheksverzeichnisse zu verknüpfen in Project -> Properties -> Linker -> General, aber natürlich ohne Erfolg, da ich immer noch die nicht vorhandenen Header verweisen wollte.

Auf jeden Fall eine verwirrende Fehlermeldung in diesem Fall, da der Header-Name <boost/filesystem.hpp> wurde aber der Fehler gab mir "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'" und keine Zeilennummern oder nichts.

Ich hatte das gleiche Problem, aber Lösung für meinen Fall wird in den Antworten nicht aufgeführt. Mein Antivirus-Programm (AVG) bestimmt Datei MyProg.exe als Virus und steckt es in das ‚Virus Lagerhaus‘. Sie müssen diese Lager überprüfen und, wenn die Datei dort ist - dann ist es einfach wiederherstellen. Es half mir aus.

Lösung 1 (für meinen Fall): Neustart Windows Explorer-Prozesses (ja, die Windows-Dateimanager)

.

Lösung 2:

  1. Schließen Sie Visual Studio. Windows-Abmelde
  2. Anmeldung, öffnen Sie Visual Studio
  3. Erstellen Sie wie gewohnt. Es baut jetzt und kann die problematische Datei zugreifen.

Ich nehme manchmal das Dateisystem oder wer steuert es mit seinen Berechtigungen verloren geht. Bevor Sie die Windows-Sitzung neu zu starten, versucht Zombie msbuild32.exe Prozesse zu töten, Visual Studio neu starten, überprüfen Sie keine selbst das Problem Datei zeigt auf. Keine Build-Konfigurationsprobleme. Es passiert von Zeit zu Zeit. Einige interne Sache in Windows nicht reparieren, braucht einen Neustart aus.

Ich antworte, weil ich diese besondere Lösung sehe nicht von jedermann aufgeführt sonst.

Offenbar mein Anti-Virus (Ad-Aware) wurde das Markieren eine DLL einer meiner Projekte hängt davon ab, und löscht sie. Auch nach dem Verzeichnis auszuschließen, wenn die DLL lebt, weiterhin das gleiche Verhalten, bis ich meinen Computer neu gestartet wird.

In meinem Fall hatte ich Mathematik-Bibliothek-Dateien aus einem früheren Game Engine Graphics Kurs mit GLM ersetzt. Das Problem war, dass ich habe sie in Visual Studio Solution Explorer auf das Projekt nicht hinzuzufügen (auch wenn sie im Projekt-Repository waren).

Ich hatte dieses Problem in Verbindung mit dem LNK2038 Fehler, folgte diesen post die Freigabe und die DEBUG DLLs zu trennen. In diesem Prozess hatte ich die ganzen Ordner, in dem diese Abhängigkeiten gereinigt aufhielten.

Zum Glück hatte ich ein Backup alle diese Dateien, und bekam die Datei, für die dieser Fehler wurde wieder in den Ordner De-Bug wirft das Problem zu beheben. Der Fehlercode wurde in gewisser Weise irreführend, da ich viel Zeit verbringen musste wieder von diesem Posten aus einer der Antworten auf diese Spitze zu kommen.

Hope diese Antwort, hilft jemand in Not.

Ich löste es durch Hinzufügen ein bestehendes Projekt meine Lösung , das I vergessen, hinzufügen in der ersten Zeit.

Ich hatte den gleichen Fehler:

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

Dies wurde durch die ; am Ende verursacht. Wenn Sie mehrere Bibliotheken haben, sollten sie von leeren Raum (Leertaste) getrennt werden, kein Komma oder Semikolon!

So verwenden Sie nicht ; oder jede etwas anderes, wenn Bibliotheken Listing in Projekteigenschaften >> Konfigurationseigenschaften >> Linkers >> Eingabe

schlug ich das gleiche Problem mit "Visual Studio 2013".

LNK1104: cannot open file 'debug\****.exe

Es aufgelöst nach dem Schließen und Neustarten von Visual Studio.

Ich habe das gleiche Problem habe ich kopiert einfach den Code zu neuem Projekt und begann mit dem Build. Ein anderer Fehler gestartet kommen. Fehler C4996: ‚fopen‘: Diese Funktion oder Variable kann gefährlich sein. Erwägen Sie die Verwendung fopen_s statt

Um dieses Problem wieder zu lösen, habe ich meine eine Eigenschaft im Projekt Projekt wie unten hinzugefügt. Projekt -> Eigenschaften -> Konfiguration Eigenschaft -> C / C ++. In dieser Kategorie gibt es Feldnamen Preprocessor Definitionen Ich habe hinzugefügt _CRT_SECURE_NO_WARNINGS dies das Problem zu lösen Hoffe, es wird helfen, ...

Danke

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top