링커 도구 오류 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
};
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기