해결된 질문
작성
·
220
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
두 파일을 같은 폴더에 넣고 하면 저 링크에러가 나고, common 파일을 상위폴더로 옮겨서 ../common.cpp로 include하면 빌드가 되네요?
흠... 왜 같은 폴더에 넣으면 안 되는지는 모르겠네요
안녕하세요.
현재 common.cpp 는 #include 로 소스코드를 가져가도록 처리되어 있습니다.
즉, 같은 폴더에 넣게되면, 프로젝트에서 제거해서, vecadd-host.cpp 만 프로젝트에 들어 있으면, vecadd-host.cpp 에서 자동으로 common.cpp 를 포함해서 컴파일 됩니다.
감사합니다.