강의

멘토링

커뮤니티

Inflearn Community Q&A

kissureng4871's profile image
kissureng4871

asked

CUDA Programming (2) - C/C++/GPU Parallel Computing - Vector Addition

12-2 vector addition, host version - Vector addition, solved with CPU (including full source code for the section)

VS2022 컴파일 에러

Resolved

Written on

·

345

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 이런 에러가 여러 개가 뜨는데 뭐 때문일까요?

 

 

 

 

cc++cudagpu병렬-처리

Answer 2

0

안녕하세요.

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

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

감사합니다.

0

kissureng4871님의 프로필 이미지
kissureng4871
Questioner

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

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

안녕하세요.

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

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

감사합니다.

kissureng4871's profile image
kissureng4871

asked

Ask a question