Programing

'uint32_t'식별자를 찾을 수 없음 오류

crosscheck 2020. 9. 24. 07:30
반응형

'uint32_t'식별자를 찾을 수 없음 오류


Linux C에서 Windows 용 Visual C ++로 코드를 이식하고 있습니다.

Visual C ++는 알지 못 #include <stdint.h>하므로 주석 처리했습니다.

나중에 이러한 'uint32_t': identifier not found오류를 많이 발견했습니다 . 어떻게 해결할 수 있습니까?


이 유형은 <stdint.h>C ++ 11 표준의 일부이지만 C ++ 03의 표준이 아닌 C 헤더에 정의되어 있습니다. 헤더의 Wikipedia 페이지에 따르면 VS2010까지 Visual Studio와 함께 제공되지 않았습니다.

그 동안 Microsoft의 사용자 정의 정수 유형 을 C에서 예상하는 유형에 typedef매핑 하는 s를 추가하여 자신의 헤더 버전을 가짜로 만들 수 있습니다 . 예를 들면 다음과 같습니다.

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
/* ... etc. ... */

도움이 되었기를 바랍니다!


당신은 할 수 있습니다 #include <cstdint>. 2011 년부터 C ++ 표준의 일부입니다.


나는 동일한 오류가 있으며 파일에 다음을 포함하여 수정했습니다.

#include <stdint.h>

파일 시작 부분에 있습니다.


부스트 . Config 는 기본적으로 제공하지 않는 도구 세트에 대해 이러한 typedef를 제공합니다. 이 특정 기능에 대한 문서는 다음과 같습니다. 표준 정수 유형


msinttypes 프로젝트 페이지 에서 사용할 수있는 구현이 있습니다. "이 프로젝트는 Microsoft Visual Studio에서 stdint.h 및 inttypes.h의 부재를 채 웁니다."

이 구현에 대한 경험이 없지만 다른 사람들이 권장하는 것을 보았습니다.


Windows에서는 일반적으로 Windows 유형을 사용합니다. 그것을 사용하려면 <Windows.h>.

이 경우 uint32_t는 UINT32 또는 UINT입니다.

모든 유형 정의는 다음과 같습니다. http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx


VS2010에서 프로젝트를 실행해야했고 코드를 수정할 수 없었습니다. 내 솔루션은 vS2013을 설치하고 VS2010 지점 VC ++ 디렉터리-> IncludeDirectories to Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ include를 설치하는 것이 었습니다. 그런 다음 내 프로젝트는 문제없이 컴파일되었습니다.

참고 URL : https://stackoverflow.com/questions/5162784/uint32-t-identifier-not-found-error

반응형