• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

VS2022 컴파일 에러

23.08.28 22:40 작성 조회수 162

0

예제소스코드

12a-vecadd-host.cpp -> vecadd-host.cpp 로 파일명 고치고 common.cpp 랑 2개를 쿠다 프로젝트에 추가해서 컴파일 했는데 링크에러가 납니다.

vecadd-host.obj : error LNK2005: "float __cdecl getRMS(float const ,float const ,int,bool)" (?getRMS@@YAMPEBM0H_N@Z) already defined in common.obj

파일은 저 2개 뿐인데

already defined in common.obj 이런 에러가 여러 개가 뜨는데 뭐 때문일까요?

 

 

 

 

답변 2

·

답변을 작성해보세요.

0

안녕하세요.

현재 common.cpp 는 #include 로 소스코드를 가져가도록 처리되어 있습니다.

즉, 같은 폴더에 넣게되면, 프로젝트에서 제거해서, vecadd-host.cpp 만 프로젝트에 들어 있으면, vecadd-host.cpp 에서 자동으로 common.cpp 를 포함해서 컴파일 됩니다.

감사합니다.

0

하지님의 프로필

하지

질문자

2023.08.28

두 파일을 같은 폴더에 넣고 하면 저 링크에러가 나고, common 파일을 상위폴더로 옮겨서 ../common.cpp로 include하면 빌드가 되네요?

흠... 왜 같은 폴더에 넣으면 안 되는지는 모르겠네요

안녕하세요.

현재 common.cpp 는 #include 로 소스코드를 가져가도록 처리되어 있습니다.

즉, 같은 폴더에 넣게되면, 프로젝트에서 제거해서, vecadd-host.cpp 만 프로젝트에 들어 있으면, vecadd-host.cpp 에서 자동으로 common.cpp 를 포함해서 컴파일 됩니다.

감사합니다.