2011-05-04 4 views
0

나는했습니다 코드 난에 geting있어이 프로젝트를 구축하기 위해 노력하고있어 때내가 사용하려고 해요 때 별도 * .H 및 * .CPP 나는에 geting있어 오류 LINK2019

A.h 
Class A{ 
    public: 
    void FuncA(); 
} 

A.cpp 
#include "A.h" 
void A::FuncA() {} 

B.h 
#include "A.h" 

Class B{ 
    public: 
    void FuncB(); 
} 

B.cpp 
#include "B.h" 
void B::FuncB(){ 
    A *a = new A(); 
    a->FuncA(); 
} 

처럼 " 오류 LNK2019 : "public : void __thiscall B :: FuncB (void)"함수에서 참조되는 확인할 수없는 외부 기호 "public : void __thiscall A :: FuncA()"(? FuncA @ A @@ QAEXH @ Z) @@ MAEXXZ) B.obj 프로젝트 "

A.obj와 B.obj를 만듭니다.

+0

당신이 누락 세미콜론 : 아래 그림을 참조하십시오. 나는 그것이 문제라고 생각하지 않는다. – jonsca

답변

1

코드는 정상적으로 보입니다. 먼저 모든 것을 다시 빌드하고 A.obj가 실제로 링커에 보내지는지 확인하십시오.


응답

확인 VS2008에서 빌드 로그를 언급합니다. 클래스 선언의 닫는 중괄호 후

enter image description here

+0

A.obj를 보내려면 어떻게해야합니까? VS2008 – Atomosk

+0

흠, 그건 이상한데, 나는 새 프로젝트를 만들었습니다, 그 파일을 추가하고 지금은 잘 작동합니다. 고맙습니다. – Atomosk

관련 문제