2011-08-09 3 views
4

이게 무슨 뜻인지 아시나요?C++ 미해결 외부

1> Generating Code... 
1>BlankWindowDXbaseImpl.obj : error LNK2019: unresolved external symbol "public: __thiscall DXBase::DXBase(void)" ([email protected]@[email protected]) referenced in function "public: __thiscall BlankWindowDXBaseImpl::BlankWindowDXBaseImpl(void)" ([email protected]@[email protected]) 
1>BlankWindowDXbaseImpl.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall DXBase::~DXBase(void)" ([email protected]@[email protected]) referenced in function "public: virtual __thiscall BlankWindowDXBaseImpl::~BlankWindowDXBaseImpl(void)" ([email protected]@[email protected]) 
1>main.obj : error LNK2019: unresolved external symbol "public: void __thiscall DXBase::shutdown(void)" ([email protected]@@QAEXXZ) referenced in function [email protected] 
1>main.obj : error LNK2019: unresolved external symbol "public: bool __thiscall DXBase::initalize(struct HINSTANCE__ *,struct HWND__ *)" ([email protected]@@[email protected]@[email protected]@@Z) referenced in function [email protected] 
1>C:\backup\development\directXworkspace\BlankWindow\Debug\BlankWindow.exe : fatal error LNK1120: 4 unresolved externals 

답변

12

외부 기호가 확인되지 않았 음을 의미합니다.

기호 란 무엇입니까? 기호는 변수, 클래스, 멤버 함수 또는 함수에서 가져온 것일 수 있습니다.

왜 그들은 해결되지 않았습니까? 코드 (또는 사용중인 라이브러리)의 일부는이 기호에 의존하며 올바른 라이브러리를 링크하거나 구현하지 않아 찾을 수 없습니다.

+0

물론 맞습니다. 링커가 올바른 lib를 찾을 수 없습니다. 그러나 VS2010에서 필요한 lib에 대한 경로를 포함하도록 lib 경로를 설정했습니다. 단지 그것을 찾지 못할 것입니다. 방금 저주 받았고 클래스와 헤더를 같은 프로젝트로 옮겼습니다. 그래서 로컬에서 lib를 찾습니다. – Sublimemm

+2

분명히 할 일은 정상적인 일이므로 당연히 그렇게하지 않는 것입니다. 후원을받을 위험이 있으므로 1) 라이브러리 디렉토리를 '일반/추가 라이브러리 디렉토리'에 추가해야합니다. 2) 라이브러리 자체를 '입력/추가 종속성'에 추가하십시오. 3) 라이브러리를 참조 할 때 .lib를 잊지 마십시오. 단계 2의 라이브러리. – john

1

이는 링커에 문제가 있음을 나타냅니다. (링커에서 해당 기호가있는 라이브러리를 찾을 수 없습니다.) 라이브러리 경로에 필요한 라이브러리를 포함해야합니다.

0

아마도 적절한 라이브러리에 연결되어 있지 않습니다.

하지만 좀 더 자세히 설명해야합니다. 퀴즈 대회에서 질문하는 것처럼 보입니다.

3

예, 프로그램이 선언되었지만 본문이없는 함수를 호출한다는 의미입니다.

이 기능이 코드의 일부가되거나 일부 라이브러리에서 제공되기를 기대합니까?

+0

간단하고 직설적입니다. 나를 실수로 바로 잡았습니다! – absentmindeduk

0

방금 ​​#pragma comment (lib, "d3d9.lib")를 추가하면 동일한 문제가 발생했습니다. 여기에는 코드를 컴파일하는 데 필요한 라이브러리 파일이 포함됩니다. 그냥 lib 파일을 64 또는 32 비트 중 하나를 잡아 혼란스러워지고있다. 희망이 도움이됩니다.

관련 문제