RTM DOS 프로그램을 WINDOWS로 변환하면서 발생하는 마지막 링크오류 2019.
DynArray template을 이용하는 Polyhedra의 멤버 변수 두개는 아래와 같다.
DynArray<vec> mVertice;
DynArray<polygon> mPolygons;
하지만, 이와 관련된 에러 인듯하나 계속해서 아래의 에러가 발생함.
오류 1 error LNK2019: "public: __thiscall DynArray<class vec>::DynArray<class vec>(int,int)" (??0?$DynArray@Vvec@@@@QAE@HH@Z) 외부 기호(참조 위치: "public: __thiscall Polyhedra::Polyhedra(void)" (??0Polyhedra@@QAE@XZ) 함수)에서 확인하지 못했습니다. C:\Users\Yuseok\Documents\Visual Studio 2013\Projects\RTMWin\RTMWin\Register.lib(Solve.obj) RTMWin
오류 2 error LNK2019: "public: __thiscall DynArray<class vec>::~DynArray<class vec>(void)" (??1?$DynArray@Vvec@@@@QAE@XZ) 외부 기호(참조 위치: __unwindfunclet$??0Polyhedra@@QAE@XZ$0 함수)에서 확인하지 못했습니다. C:\Users\Yuseok\Documents\Visual Studio 2013\Projects\RTMWin\RTMWin\Register.lib(Solve.obj) RTMWin
오류 3 error LNK2019: "public: __thiscall DynArray<struct polygon>::DynArray<struct polygon>(int,int)" (??0?$DynArray@Upolygon@@@@QAE@HH@Z) 외부 기호(참조 위치: "public: __thiscall Polyhedra::Polyhedra(void)" (??0Polyhedra@@QAE@XZ) 함수)에서 확인하지 못했습니다. C:\Users\Yuseok\Documents\Visual Studio 2013\Projects\RTMWin\RTMWin\Register.lib(Solve.obj) RTMWin
오류 4 error LNK2019: "public: __thiscall DynArray<struct polygon>::~DynArray<struct polygon>(void)" (??1?$DynArray@Upolygon@@@@QAE@XZ) 외부 기호(참조 위치: "public: __thiscall Polyhedra::~Polyhedra(void)" (??1Polyhedra@@QAE@XZ) 함수)에서 확인하지 못했습니다. C:\Users\Yuseok\Documents\Visual Studio 2013\Projects\RTMWin\RTMWin\Register.lib(Solve.obj) RTMWin
오류 코드를 보고서 Vvec, Upolygon을 찾아봤으나, 전혀 나타나지 않았음.
그러던중 Polyhedra의 생성자 코드가 header 파일에 선언되어 있고, cpp 없는 것을 확인.
// constructor
Polyhedra(){};
//destructor
~Polyhedra(){};
header파일에서는 선언만하고 cpp에서 구현하니.. 에러 해결됨..!!