inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기

12-2 vector addition, host version - 벡터 더하기, CPU로 해결하기 (섹션 전체 source code 포함)

VS2022 컴파일 에러

해결된 질문

414

하지

작성한 질문수 1

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

 

 

 

 

c c++ cuda gpu 병렬-처리

답변 2

0

드립커피+한모금더

안녕하세요.

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

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

감사합니다.

0

하지

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

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

0

드립커피+한모금더

안녕하세요.

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

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

감사합니다.

runpod에서 실습하는 내용이 조금 다릅니다.

0

6

0

DACL 질문

0

12

1

터보퀀트(예정)

0

21

1

DLL 제작자가 PDB도 같이 제공해야 한다는 설명에 질문

0

19

2

정처기 2026-3 실기 문의

0

54

2

정처기 실기 3회 컴싸 사용 여부

0

34

1

모의고사 1 회 2번문제 중

0

51

2

26-2 이론문제 재탕

1

37

1

26-2년도 코드문제

0

27

0

26-2 코드문제

0

30

1

15분 48초 질문

0

41

2

⬛ 출력 문제

0

35

1

26-1년도 이론문제 재탕

0

54

1

최신 엔비디아 CUDA 아키텍처에서의 결정적 변경 사항

1

68

1

ch .12 grid 설정 관련 질문 드립니다.

0

126

2

memcpy 시간 고려 시 gpu vs. cpu

0

141

2

common.cpp의 procArg 함수에 대해 질문이 있습니다.

0

171

2

Thread Block 개수에 제한이 있나요?

0

455

1

Warp를 동시에 돌린다는 말이 이해가 가지 않습니다.

0

353

1

매크로 함수를 쓴 이유

0

345

1

global 변수가 cuda memory에서 사용되는 이유

0

415

1

Warp 갯수에 대한 고찰입니다....

0

596

2

15강 Block ID 예제 오류 질문입니다.

0

397

1

컴파일 시의 <typeinfo> 관련 에러

0

633

1