Поделиться через


Ошибка средств компоновщика 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
};