프리 컴파일 헤더에 매우 이상한 문제가 있습니다. 링커는 LNK2019 : .cpp 파일에 메서드를 구현할 때 확인할 수없는 외부 기호 오류를 생성합니다. 그러나, .h 파일에 메서드를 구현하면 프로그램을 컴파일 할 수 있습니다. 솔루션을 찾으려고했지만이 오류의 근본 원인에 대해 전혀 알지 못합니다. > 프로젝트 1
- -> 프로젝트 2Visual C++ 링크 LNK2019 미리 컴파일 된 헤더로 오류가 발생했습니다.
프로젝트 1 3 개 파일이
내 프로젝트 구조는이
솔루션
것 같습니다. A.h, A.cpp 및 프로젝트 2에서 STDAFX.H
file A.h
#pragma once
class A
{
public:
int num;
A();
};
file A.cpp
#include "stdafx.h"
A::A()
{
num = 2;
}
file stdafx.h
...
#include "A.h"
...
나는 클래스를 사용하고 싶습니다.
파일 whatever.cpp 컴파일시에
#include "stdafx.h"
#include "../Project1/A.h"
...
A* a_obj = new A();
...
의 건설 기능에 대한 링커보고되지 않은 외부 기호 오류입니다. A.h 파일에서 생성자를 구현하면. 프로젝트 2가 성공적으로 준수 될 수 있습니다. 왜 A.cpp 파일에 구현을 넣을 수 없는지 알고 싶습니다. 프리 컴파일 헤더를 구성하는 올바른 방법은 무엇입니까? 이 (당신이 한) 헤더 파일의 정의를 포함하는 것입니다 그것을 가시성을 제공하는 한 가지 방법 -
는
감사합니다, 두 번째 방법 나를 위해 잘 돌아 간다. – LNK2019