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