강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kissureng4871
kissureng4871

câu hỏi đã được viết

Lập trình CUDA (2) - Tính toán song song C/C++/GPU - Cộng vector (vector addition)

Phép cộng vectơ 12-2, phiên bản máy chủ - Phép cộng vectơ, giải quyết bằng CPU (bao gồm mã nguồn cho toàn bộ phần)

VS2022 컴파일 에러

Đã giải quyết

Viết

·

354

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병렬-처리

Câu trả lời 2

0

onemoresipofcoffee님의 프로필 이미지
onemoresipofcoffee
Người chia sẻ kiến thức

안녕하세요.

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

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

감사합니다.

0

kissureng4871님의 프로필 이미지
kissureng4871
Người đặt câu hỏi

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

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

onemoresipofcoffee님의 프로필 이미지
onemoresipofcoffee
Người chia sẻ kiến thức

안녕하세요.

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

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

감사합니다.

Hình ảnh hồ sơ của kissureng4871
kissureng4871

câu hỏi đã được viết

Đặt câu hỏi