UD_park's IT story
[Error] fatal error LNK1169: 여러 번 정의된 기호가 있습니다. 본문
반응형
SMALL
이번 포스팅에서 설명할 오류는
아래와 같습니다.
fatal error LNK1169: 여러 번 정의된 기호가 있습니다.
해당 오류는 Visual Studio에서 한 프로젝트에서
여러 개 소스 파일을 생성하고 다양한 빌드를 시도하던
도중에 발생했던 오류입니다.
오류가 난 Visual Studio의 캡처 화면을 통해
조금 더 자세하고 쉽게 설명해보겠습니다.
보시면 HelloWorld 라는 이름의 프로젝트 하나에
printf.cpp와 test01.cpp라는 2개의 소스파일이 존재합니다.
여기서 printf.cpp와 test01.cpp 두 소스코드 모두
캡처 화면에 보이는 소스코드 줄 3번처럼
main 함수를 담고있습니다.
SMALL
한 프로젝트에 main() 함수는 하나만 존재해야 하기 때문에
현재 2개의 main() 함수가 존재하여 에러가 발생했습니다.
해결방법은 생각보다 단순합니다.
여러 가지 방법이 존재하는데 하나씩 나열하겠습니다
1. Project를 별도로 만들어 소스파일을 분리한다.
2. printf.cpp와 test01.cpp 둘 중 하나의 코드에 main() 함수를 제거한다.
저는 2번 방식을 사용하여 아래의 코드 블록과
같이 수정하여 에러를 해결했습니다.
#include <stdio.h>
int test() {
int total = 0;
for (int i = 1; i < 11; i++)
{
total += i;
}
printf("from 1 to 10 add is : %d", total);
return 0;
}
현재 에러를 통해 다음에는
한 프로젝트에 여러 가지 소스코드에
다양한 기능의 함수들을 각 각 파일로
생성한 후, 그 함수들을 main.cpp 파일에
main() 함수를 사용해서 한 번에 불러들이고
사용해보는 연습을 해봐야겠다는
생각이 들었습니다.
그럼 간단하게 해결되었으니
이상으로 포스팅을 마치도록 하겠습니다
혹시 다른 것에 대해 궁금하신 게
있으시다면
댓글에 달아주세요
아는 것이면 친절하게 쉽게
모르는 것이면 또 제가 알아내서
친절하게 쉽게 포스팅해서
설명해드리겠습니다.
반응형
LIST
'IT - For Data > Error' 카테고리의 다른 글
[Error] AH00558 : Could not reliable determine the server’s fully qualified domain name (0) | 2023.03.14 |
---|---|
[Error] CS0118 'Form1.MemberType'은(는) 형식이지만 변수처럼 사용됩니다. (0) | 2018.07.13 |
[Error] CS0103 'Process' 이름이 현재 컨텍스트에 없습니다. (3) | 2018.07.13 |
[Error] CS1656 '메서드 그룹'인 'Show'에는 할당할 수 없습니다. (0) | 2018.07.12 |
[Error] 처리되지 않은 예외: System.IndexOutOfRangeException (2) | 2018.07.05 |
Comments