Ошибка средств компоновщика LNK2020
неразрешенный токен "token"
Аналогично неопределенной внешней ошибке, за исключением того, что ссылка выполняется через метаданные. В метаданных должны быть определены все функции и данные.
Чтобы устранить проблему, сделайте следующее:
Определение отсутствующих функций или данных или
Включите файл объекта или библиотеку, в которой уже определены отсутствующие функции или данные.
Примеры
Следующий пример создает 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 также возникает, если вы создаете переменную управляемого типа шаблона, но не создаете экземпляр типа.
Следующий пример создает 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
};