* 문제상황
- main.h 파일에 enum으로 변수를 선언 후, main.c 파일에서 해당 변수를 참조하였다.
- 디버그시 해당 변수값이 정상적으로 인가되지만, 해당 변수의 Declaration을 확인시 "Could not find symbol"이라는 에러 메시지와 함께 정의를 찾을 수 없었다.
* 원인
< 헤더 파일이 변경되었으나 IDE가 인덱싱을 갱신하지 못한 경우 >
헤더파일이 업데이트되었으나, IDE가 새로 인덱싱하지 못해 최신상태를 반영하지 못하는 경우이다. 인덱스 문제로 인해 변수 선언이 인식되지 않을 수 있다.
보통은 Clean후 Build를 진행시 인덱싱이 갱신되지만 해당 작업을 수행했음에도 갱신되지 않는다면 인덱싱 재빌드를 수행해야 한다.
* 해결 방법
- 인덱싱 재빌드를 실행한다. (Project 메뉴 => "C/C++ Index" => "Rebuild" 클릭)
* 인덱싱이란?
IDE가 프로젝트 코드 파일을 분석하여 코드의 구조와 심볼(함수,변수,클래스 등)을 데이터베이스에 저장하는 과정이다.
인덱싱이 완료되면 사용자는 코드 탐색, 자동완성, 심볼 정의로 이동 등 작업을 빠르고 효율적으로 수행 할 수 있다.
'SW 개발 공부 > 실수 기록' 카테고리의 다른 글
신호를 Filtering 후 복조시 Amplitude 줄어드는 문제 (0) | 2024.12.11 |
---|---|
[Stm32 Project]Debug시 Dynamic Printf가 정상적으로 출력 되지 않을 때 (1) | 2024.11.12 |
C#과 C++ 동적 할당 차이 (다른 new 사용법) (1) | 2024.10.28 |
사용자 계정 변경하기 (1) | 2024.09.05 |
[Stm32cube ide] 프로젝트의 파일들이 Liked File로 선언되어 있을 때 프로젝트 복사시 파일 경로를 못 찾는 문제 (0) | 2024.07.22 |