Ошибка: идентификатор uint32_t не найден - PullRequest
80 голосов
/ 02 марта 2011

Я портирую код с Linux C на Visual C ++ для Windows.

Visual C ++ не знает #include <stdint.h>, поэтому я прокомментировал его.

Позже я нашел многоиз этих 'uint32_t': identifier not found ошибок.Как это можно решить?

Ответы [ 7 ]

96 голосов
/ 02 марта 2011

Этот тип определен в заголовке C <stdint.h>, который является частью стандарта C ++ 11, но не является стандартом в C ++ 03.Согласно странице Википедии в заголовке , она не поставлялась с Visual Studio до VS2010.

Тем временем вы, вероятно, могли бы подделать собственную версию заголовка, добавив typedef s отображают пользовательские целочисленные типы Microsoft на типы, ожидаемые C. Например:

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

Надеюсь, это поможет!

72 голосов
/ 29 августа 2013

Вы можете #include <cstdint>. Это часть C ++ - стандарт с 2011 года.

7 голосов
/ 02 марта 2011

Boost . Config предлагает эти определения типов для наборов инструментов, которые не предоставляют их изначально.Документация для этой специфической функциональности здесь: Стандартные целочисленные типы

6 голосов
/ 31 августа 2015

У меня та же ошибка, и она исправлена, включая в файл следующее

#include <stdint.h>

в начале вашего файла.

3 голосов
/ 02 марта 2011

На странице проекта msinttypes доступна реализация - «Этот проект заполняет отсутствие stdint.h и inttypes.h в Microsoft Visual Studio».

У меня нет опыта с этой реализацией, но я видел его рекомендованным другими на SO.

2 голосов
/ 17 июня 2013

В Windows я обычно использую типы окон. Чтобы использовать его, вы должны включить <Windows.h>.

В этом случае uint32_t - это UINT32 или просто UINT.

Все определения типов здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx

0 голосов
/ 11 октября 2016

Мне пришлось запустить проект в VS2010, и я не мог внести какие-либо изменения в код. Мое решение состояло в том, чтобы установить vS2013 и в VS2010 указать каталоги VC ++-> Включить каталоги в программные файлы (x86) \ Microsoft Visual Studio 12.0 \ VC \ include. Тогда мой проект скомпилирован без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...