2010-09-04 15 views
8

Heute habe ich Visual Studio 2010 (Visual C++) gestartet und begann mit der Arbeit an einem Projekt. Die Lösung enthält zwei Projekte. Eine ist eine statische Bibliothek, die ich schreibe, die andere ist eine Testanwendung, die Komponententests für die Bibliothek enthält.Verknüpfungsfehler LNK1104 in Visual C++ 2010

Ohne etwas von gestern zu ändern, die ausführbare Datei nicht mehr Links:

LINK : fatal error LNK1104: cannot open file 'mylib.lib' 

Die statische Bibliothek kompiliert und verknüpft in Ordnung. Ich habe die Projekteinstellungen in ungefähr einer Woche nicht geändert, und es hat gestern gut verbunden.

Wenn ich in die ausführbaren Projekteinstellungen gehen und ein Bibliotheksverzeichnis für $(SolutionDir)\debug hinzufügen, erhalte ich stattdessen die folgenden Link Fehler:

LINK : fatal error LNK1104: cannot open file 'kernel32.lib' 

Ich bin nicht sicher, was das Problem ist. Ich habe versucht, meine Maschine zu reinigen, neu aufzubauen und sogar neu zu starten. Google hat einige Fehler in alten Visual C++ - Versionen (aber ich benutze 2010) sowie die Möglichkeit, dass das Programm bereits läuft, aufgedeckt. Es läuft jedoch nicht, und ein Neustart bestätigt dies.

Was würde der Linker nicht Core-Bibliotheken wie Kernel32.lib oder das Ausgabeverzeichnis für meine Lösung zu finden?

Dies ist altmodisch C++, eine Cross-Plattform-Bibliothek, nicht das verwaltete Zeug Microsoft hinzugefügt.

Antwort

4

Ich musste "Über Eltern oder Projektstandards übernehmen" im Dialogfeld "Bibliotheksverzeichnisse" überprüfen. Sobald ich das getan habe, könnte der Linker alle notwendigen Bibliotheken finden. Ich musste trotzdem $(SolutionDir)\debug mit einbeziehen.

1

Ich behebt dieses Problem von deaktivieren "Enable .NET Framework Quellschritt" (siehe: "Menüleiste/Extras/Optionen/Debuggen/Allgemein/Aktivieren von .NET Framework Quellschritt"). Anscheinend this is a bug in Visual Studio.

3

Fügen Sie das microsoft SDK-Verzeichnis in unter Projekt-> Eigenschaften-> Linker-> Allgemein-> zusätzliche Bibliotheksverzeichnisse ein.

auf meinem Computer ist es

D: \ Programme \ Microsoft SDKs \ Windows \ v7.1 \ Lib