Я переношу код из Linux C в Visual С++ для Windows.
Visual С++ не знает #include <stdint.h>
, поэтому я прокомментировал это.
Позже я нашел много этих ошибок 'uint32_t': identifier not found
. Как это можно решить?
Я переношу код из Linux C в Visual С++ для Windows.
Visual С++ не знает #include <stdint.h>
, поэтому я прокомментировал это.
Позже я нашел много этих ошибок 'uint32_t': identifier not found
. Как это можно решить?
Этот тип определен в заголовке C <stdint.h>
, который является частью стандарта С++ 11, но не стандартным в С++ 03. Согласно странице Википедии в заголовке, она не поставляется с Visual Studio до VS2010.
Тем временем вы, вероятно, могли бы подделать свою собственную версию заголовка, добавив typedef
, чтобы отобразить типичные типы пользователей Microsoft типы, ожидаемые C. Например:
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
/* ... etc. ... */
Надеюсь, это поможет!
Вы можете #include <cstdint>
. Это часть стандарта С++ с 2011 года.
Boost. Config предлагает эти typedefs для наборов инструментов, которые не предоставляют их изначально. Документация для этой конкретной функции приведена здесь: Стандартные типы целых чисел
Существует реализация, доступная на странице msinttypes - "Этот проект заполняет отсутствие stdint.h и inttypes.h в Microsoft Visual Студия".
У меня нет опыта с этой реализацией, но я видел, как он рекомендовал других в SO.
В Windows я обычно использую типы окон. Чтобы использовать его, вы должны включить <Windows.h>
.
В этом случае uint32_t является UINT32 или просто UINT.
Определения всех типов: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
У меня такая же ошибка, и я исправил ее, включив в файл следующие
#include <stdint.h>
в начале файла.
Мне пришлось запускать проект в VS2010, и я не мог вносить никаких изменений в код. Моим решением было установить vS2013, а в VS2010 - VС++ Directories- > IncludeDirectories для программных файлов (x86)\Microsoft Visual Studio 12.0\VC\include. Затем мой проект был составлен без каких-либо проблем.