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
};