Linkertoolfehler LNK2020
Nicht aufgelöstes Token 'Token'
Vergleichbar mit einem nicht definierten externen Fehler, mit dem Unterschied, dass der Verweis über Metadaten erfolgt. In Metadaten müssen alle Funktionen und Daten definiert werden.
So beheben Sie diesen Fehler:
Definieren Sie die fehlende Funktion bzw. die fehlenden Daten. - oder -
Lesen Sie die Objektdatei oder die Bibliothek ein, in der die fehlende Funktion bzw. die Daten bereits definiert sind.
Beispiel
Im folgenden Beispiel wird LNK2020 generiert.
// LNK2020.cpp
// compile with: /clr /LD
ref struct A {
A(int x); // LNK2020
static int f(); // LNK2020
};
// OK
ref struct B {
B(int x) {}
static int f() { return 0; }
};
LNK2020 tritt auch dann auf, wenn Sie eine Variable eines verwalteten Vorlagentyps erstellen, jedoch diesen Typ nicht instaziieren.
Im folgenden Beispiel wird LNK2020 generiert.
// LNK2020_b.cpp
// compile with: /clr
template <typename T>
ref struct Base {
virtual void f1() {};
};
template <typename T>
ref struct Base2 {
virtual void f1() {};
};
int main() {
Base<int>^ p; // LNK2020
Base2<int>^ p2 = gcnew Base2<int>(); // OK
};