Linkertoolfehler LNK2011

vorkompiliertes Objekt, das nicht verknüpft ist; Image kann nicht ausgeführt werden

Wenn Sie vorkompilierte Kopfzeilen verwenden, erfordert LINK, dass alle mit vorkompilierten Headern erstellten Objektdateien verknüpft werden müssen. Wenn Sie über eine Quelldatei verfügen, die Sie zum Generieren eines vorkompilierten Headers für die Verwendung mit anderen Quelldateien verwenden, müssen Sie jetzt die mit dem vorkompilierten Header erstellte Objektdatei einschließen.

Wenn Sie z. B. eine Datei mit dem Namen STUB.cpp kompilieren, um einen vorkompilierten Header für die Verwendung mit anderen Quelldateien zu erstellen, müssen Sie eine Verknüpfung mit STUB.obj herstellen oder diesen Fehler erhalten. In den folgenden Befehlszeilen wird Zeile 1 verwendet, um einen vorkompilierten Header, COMMON.pch, zu erstellen, der mit PROG1.cpp und PROG2.cpp in zeile 2 und drei verwendet wird. Die Datei STUB.cpp enthält nur #include Zeilen (die gleichen #include Zeilen wie in PROG1.cpp und PROG2.cpp) und wird nur verwendet, um vorkompilierte Header zu generieren. In der letzten Zeile muss STUB.obj verknüpft werden, um LNK2011 zu vermeiden.

cl /c /Yccommon.h stub.cpp
cl /c /Yucommon.h prog1.cpp
cl /c /Yucommon.h prog2.cpp
link /out:prog.exe stub.obj prog1.obj prog2.obj