'uint32 t' идентификатор не найден ошибка



я переношу код из Linux C в Visual C++ для windows.



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



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

1098   7  

7 ответов:

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

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

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

надеюсь, что это помогает!

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

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

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

#include <stdint.h>

в начале файла.

есть реализация, доступная в страница проекта msinttypes - "этот проект заполняет отсутствие stdint.h и inttypes.h в Microsoft Visual Studio".

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

в 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 point VC++->IncludeDirectories to Program Files(x86)\Microsoft Visual Studio 12.0\VC\include. Тогда мой проект скомпилирован без каких-либо проблем.

Comments

    Ничего не найдено.