일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 마이크로소프트
- 실습
- MyTread
- mysql
- visual
- Tipsware
- 정보처리기사
- C
- MyThread
- do it c
- 도움말
- 충무창업큐브
- SSG
- Time
- C언어
- 김성엽
- 핵심 요약
- ListBox
- tips강좌
- 별찍기
- MFC
- linux
- mfc 실습
- 정처기 독학
- win32
- 유료강좌
- C++
- MFC 예제
- 포트폴리오
- 미가공
- Today
- Total
History
[오류코드] C1083 본문
이전 빌드를 해결하고 다시 빌드를 돌렸더니, 이번엔 C1083 오류가 나왔다.
이 오류 코드에 대한 문제의 원인은 MS 공식 도움말을 참고해서 몇 개 적어보겠다.
1. 지정한 파일 이름이 잘못된 경우
원하는 .h 파일 이름 확장명이 없다. 예를 들어서 include 지시문에서 올바른 철자로 include를 했으면 오류가 안 난다는 말이다.
또한 하위 디렉터리에 있는 헤더를 include를 해야할 상황이라 아래와 같이 선언을 해줘야 한다.
#include <sys/types.h>
2. 잘못된 버전의 파일 이름이 포함된 경우
현재 x86으로 빌드 중일 때만 #include가 적용될 때가 있다. 이때 include를 잘 확인해야 한다.
3. 파일이 포함 검색 경로에 포함되지 않음
include문이 따옴표로 묶인 경우 이렇게 하면 컴파일러가 먼저 원본 파일이 포함된 동일한 디렉터리에서 파일을 찾은 다음 빌드 환경에서 지정한 다른 위치를 찾도록 지시한다. 따옴표에 절대 경로가 포함되어 있는 경우 컴파일러는 해당 위치에서만 파일을 찾는다. 따옴표에 상대 경로가 포함되어 있는 경우 컴파일러는 소스 디렉터리에 관련된 디렉터리에서 파일을 찾는다.
include가 <>로 묶여 있는 경우 포함 파일이 원본 디렉터리를 기준으로 다른 디렉터리에 있고 include 지시문에서 상대 경로를 사용하는 경우 꺾쇠괄호 대신 큰따옴표를 사용해야 한다. 예를 들어 헤더 파일이 myheader.h 헤더라는 프로젝트 원본의 하위 디렉터리에 있는 경우 이 예제에서는 파일을 찾지 못하고 C1083을 발생한다.
#include <headers\myheader.h>
그러나 이 예제는 다음과 같이 작동합니다.
#include "headers\myheader.h"
나의 경우는 해당 cpp가 로컬에서 삭제되어 있는데 기존 source file 목록에 그대로 있었기 때문에 컴파일러가 해당 파일을 디렉터리에서 읽어 들이지 못하고 오류를 뱉어낸 것이었다.
해결 방법은 source file 목록에서 제거 및 삭제를 클릭하면 정상적으로 빌드가 된다.
아래는 내가 참고한 ms 공식 도움말 링크이다.
심각한 오류 C1083
자세한 정보: 심각한 오류 C1083
learn.microsoft.com
'Visual Studio > Error Resolves' 카테고리의 다른 글
[Process Explorer] GDI Objects 오류 확인 (0) | 2024.04.03 |
---|---|
[오류코드] C3861 : _T 식별자를 찾을 수 없습니다. (0) | 2024.03.22 |
[오류코드] C2338 (0) | 2023.11.17 |