Errore degli strumenti del linker LNK2020
token non risolto 'token'
Analogamente a un errore esterno non definito, ad eccezione del fatto che il riferimento è tramite metadati. Nei metadati è necessario definire tutte le funzioni e i dati.
Per risolvere il problema:
Definire la funzione o i dati mancanti oppure
Includere il file o la libreria dell'oggetto in cui è già definita la funzione o i dati mancanti.
Esempi
L'esempio seguente genera LNK2020.
// 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 si verificherà anche se si crea una variabile di un tipo di modello gestito, ma non si crea anche un'istanza del tipo.
L'esempio seguente genera LNK2020.
// 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
};