Share via


Linkertoolwarnung LNK4286

Das in 'filename_1.obj' definierte Symbol 'Symbol' wird von 'filename_2.obj' importiert.

__declspec(dllimport) wurde für das Symbol angegeben, obwohl das Symbol in der Objektdatei filename_1.obj im selben Bild definiert ist. Entfernen Sie den __declspec(dllimport) Modifizierer, um diese Warnung zu beheben.

Hinweise

Warnung LNK4286 ist eine allgemeinere Version von Linker Tools Warning LNK4217. Der Linker generiert Warnungs-LNK4286, wenn er erkennen kann, auf welche Objektdatei auf das Symbol verwiesen wurde, aber nicht welche Funktion.

Um LNK4286 aufzulösen, entfernen Sie den __declspec(dllimport) Deklarationsmodifizierer aus der Vorwärtsdeklaration des Symbols , auf das in filename_2.obj verwiesen wird.

Obwohl sich der endgültige generierte Code richtig verhält, ist der generierte Code zum Aufrufen einer importierten Funktion weniger effizient als das direkte Aufrufen der Funktion. Diese Warnung wird nicht angezeigt, wenn Sie die Option "/clr " kompilieren.

Weitere Informationen zum Importieren und Exportieren von Datendeklarationen finden Sie unter dllexport, dllimport.

Siehe auch

Linkertoolwarnung LNK4049
Linkertoolwarnung LNK4217
dllexport, dllimport