Compartilhar via


Erro das ferramentas de vinculador LNK2020

token não resolvido 'token'

Semelhante a um erro externo indefinido, exceto que a referência é por meio de metadados. Em metadados, todas as funções e dados devem ser definidos.

Para resolver esse erro:

  • Definir a função ou os dados ausentes, ou

  • Inclua o arquivo de objeto ou a biblioteca na qual a função ou os dados ausentes já estão definidos.

Exemplos

A amostra a seguir gera 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 também ocorrerá se você criar uma variável de um tipo de modelo gerenciado, mas também não instanciar o tipo.

A amostra a seguir gera 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
};