Linker Tools Error LNK2020
unresolved token 'token'
Similar to an undefined external error, except that the reference is via metadata. In metadata, all functions and data must be defined.
To resolve:
Define the missing function or data, or
Include the object file or library in which the missing function or data is already defined.
Examples
The following sample generates 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 will also occur if you create a variable of a managed template type, but do not also instantiate the type.
The following sample generates 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
};