다음을 통해 공유


링커 도구 오류 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
};