7 ответов:
этот тип определяется в заголовке C
<stdint.h>, который является частью стандарта C++11, но не стандарт в C++03. Согласно страница Википедии в заголовке, он не поставляется с Visual Studio до VS2010.В то же время, вы могли бы поддельные свою версию заголовка, добавив
typedefвот эта карта пользовательские целочисленные типы Microsoft к типам, ожидаемым C. Например:typedef __int32 int32_t; typedef unsigned __int32 uint32_t; /* ... etc. ... */надеюсь, что это помогает!
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