클래스 선언을 분리해서 하는 것이 목표임...
<game.h>
#include "game.h" int main(void) { Game* g2 = new Game(); return 0; }<main.cpp-1>의 경우 빌드가 잘 되는데 <main.cpp-2>는 main.cpp.obj : error LNK2019: "public: __thiscall Game::Game(void)" (??0Game@@QAE@XZ) 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.untitled11.exe : fatal error LNK1120: 1개의 확인할 수 없는 외부 참조입니다.이런 링크 오류가 나옴
#ifndef GAME_H #define GAME_H class Game { public: Game() {}; ~Game() {}; void Game::start(); }; #endif그래서 헤더 파일에 생성자를 직접 선언해줬더니 빌드가 됨;;
이거 왜 이런거임? 생성자는 헤더/소스랑 분리 못함?
해당 댓글은 삭제되었습니다.
플젝 잘못 설정한듯 ㅜㅜ; 역시 이상하다 했음 알려줘서 고마우이
안 될 리가 있나 main 하나만 달랑 빌드하는 게 아닌 이상
되는데 헤더파일에 class Game { public: Game(); ~Game(); void Game::start(); //<-이거 오타맞지? };
되는데? 님이 플젝설정 잘못한듯
어?;; 다른데 옮겨서 새플젝에서 해보니까 진짜 되네... CMake 설정을 잘못했나;; 쉬발 내 2시간
여기 안물어봤으면 빌드 세팅 잘못인줄 모르고 계속 삽질했을듯; 야밤에 빛보다 빠르게 알려주신 행님들 감사합니다 복받으세요