Brise

VS Code에서 uint32_t 타입 오류로 표시되는 경우(임베디드, stm32) 본문

프로그램/C,C++

VS Code에서 uint32_t 타입 오류로 표시되는 경우(임베디드, stm32)

naudhizb 2021. 2. 2. 09:16
반응형

임베디드 코드 프로젝트를 VScode로 열어서 볼 때 uint32_t 타입 오류가 표시되어 꽤나 거슬릴 때가 있다. 

특히, 해당 타입 때문에 아래 있는 다른 구문들이 정상적으로 읽어지지 않을 때가 있는데, 해당 이슈는 사실 오류가 아니라, VScode가 특정 컴파일러에 기반하지 않는 시스템이기에 생기는 문제이다. 

 

cmsis에서는 여러 컴파일러에 맞추어 여러 매크로를 선언하고 있는데, 어떠한 컴파일러도 감지되지 않았을 때 오류를 선언하기 때문에 uint32_t 타입이 에러로 표시되는 듯 하다. 

 

해당 이슈를 해결하기 위해서는 아래와 같은 방식으로 해결할 수 있다. 

 

- VSCode에서 Ctrl+Shift+P 를 입력한 뒤 C/C++: Edit Configuration(JSON)을 클릭

- c_cpp_properties.json 파일에서 "defines" JSON 리스트에 "__GNUC__" 정의를 추가

- 해당 파일을 Ctrl+S를 이용하여 저장

 

위와 같은 방식으로 설정하면 uint32_t 오류가 발생하지 않는다. 

 

(원론적으로는 mingw와 같은 컴파일러를 설치하고 해당 컴파일러, intellisense 모드 등을 바꿔 주어야 하지만, 과정이 복잡하고, VSCode를 이용하여 전체 개발환경을 구성할 것이 아니기 때문에 간단하게 오류를 supress만 해주기로 한다.)

 

* Reference: github.com/Microsoft/vscode-cpptools/issues/1212

반응형

'프로그램 > C,C++' 카테고리의 다른 글

[C++ 기본] 3. 입출력  (0) 2022.01.14
[C++기본] 2. namespace  (0) 2022.01.14
[C++기본] 1. Hello world!  (0) 2022.01.14
모듈러 연산 시 음수가 나오는 경우  (0) 2020.03.15
여러 버전의 PID 계산 방법  (0) 2020.02.18
2차원 배열 동적할당  (0) 2015.12.19
2차원 포인터의 값과 주소 접근 방식  (0) 2015.12.12
Comments