-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
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 이런 에러가 여러 개가 뜨는데 뭐 때문일까요?
CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
12-2 vector addition, host version - 벡터 더하기, CPU로 해결하기 (섹션 전체 source code 포함)
강의실 바로가기
답변을 작성해보세요.
0
드립커피+한모금더
지식공유자2023.08.29
안녕하세요.
현재 common.cpp 는 #include 로 소스코드를 가져가도록 처리되어 있습니다.
즉, 같은 폴더에 넣게되면, 프로젝트에서 제거해서, vecadd-host.cpp 만 프로젝트에 들어 있으면, vecadd-host.cpp 에서 자동으로 common.cpp 를 포함해서 컴파일 됩니다.
감사합니다.
0
하지
질문자2023.08.28
두 파일을 같은 폴더에 넣고 하면 저 링크에러가 나고, common 파일을 상위폴더로 옮겨서 ../common.cpp로 include하면 빌드가 되네요?
흠... 왜 같은 폴더에 넣으면 안 되는지는 모르겠네요
드립커피+한모금더
지식공유자2023.08.29
안녕하세요.
현재 common.cpp 는 #include 로 소스코드를 가져가도록 처리되어 있습니다.
즉, 같은 폴더에 넣게되면, 프로젝트에서 제거해서, vecadd-host.cpp 만 프로젝트에 들어 있으면, vecadd-host.cpp 에서 자동으로 common.cpp 를 포함해서 컴파일 됩니다.
감사합니다.
답변 2