이 문서에서는 MSB8027 오류 코드에 대해 설명합니다.
메시지 내용
MSB8027: Two or more files with the name of *filename* will produce outputs to the same location. This can lead to an incorrect build result. The files involved are *file-path-1* *file-path-2*.
설명
이 오류는 두 개 이상의 원본 파일의 이름이 같고 빌드 결과가 동일한 중간 디렉터리로 이동하는 경우에 발생합니다. 첫 번째 파일이 빌드된 후 빌드는 이름이 같은 다음 파일의 출력을 사용하여 첫 번째 파일의 출력을 덮어씁니다.
오류 출력 메시지 뒤에 경고가 표시되는 LNK4042 경우가 많습니다. 이 오류는 다른 위치에서 동일한 파일 이름을 사용하는 프로젝트를 결합할 때 발생할 수 있습니다.
해결 방법
프로젝트에 이름이 같은 원본 파일이 두 개 이상 있는 경우 각 파일에 고유한 이름을 지정합니다.
파일 이름을 변경할 수 없는 경우 각 파일을 고유한 중간 디렉터리로 컴파일합니다.
중간 파일 위치를 설정하려면 다음 단계를 수행합니다.
- 솔루션 탐색기에서 원본 파일을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
- 원본 파일에 대한 속성 페이지 대화 상자에서 구성 속성>C/C++>출력 파일 속성 페이지를 선택합니다.
-
개체 파일 이름 속성을
$(IntDir)에서$(IntDir)%(RelativeDir)로 변경합니다. - 확인 을 선택하여 변경 내용을 저장합니다.
적용 대상
MSBuild의 모든 버전