Я портирую код с Linux C на Visual C ++ для Windows.
Visual C ++ не знает #include <stdint.h>, поэтому я прокомментировал его.
#include <stdint.h>
Позже я нашел многоиз этих 'uint32_t': identifier not found ошибок.Как это можно решить?
'uint32_t': identifier not found
Этот тип определен в заголовке C <stdint.h>, который является частью стандарта C ++ 11, но не является стандартом в C ++ 03.Согласно странице Википедии в заголовке , она не поставлялась с Visual Studio до VS2010.
<stdint.h>
Тем временем вы, вероятно, могли бы подделать собственную версию заголовка, добавив typedef s отображают пользовательские целочисленные типы Microsoft на типы, ожидаемые C. Например:
typedef
typedef __int32 int32_t; typedef unsigned __int32 uint32_t; /* ... etc. ... */
Надеюсь, это поможет!
Вы можете #include <cstdint>. Это часть C ++ - стандарт с 2011 года.
#include <cstdint>
Boost . Config предлагает эти определения типов для наборов инструментов, которые не предоставляют их изначально.Документация для этой специфической функциональности здесь: Стандартные целочисленные типы
У меня та же ошибка, и она исправлена, включая в файл следующее
в начале вашего файла.
На странице проекта msinttypes доступна реализация - «Этот проект заполняет отсутствие stdint.h и inttypes.h в Microsoft Visual Studio».
У меня нет опыта с этой реализацией, но я видел его рекомендованным другими на SO.
В Windows я обычно использую типы окон. Чтобы использовать его, вы должны включить <Windows.h>.
<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 ++-> Включить каталоги в программные файлы (x86) \ Microsoft Visual Studio 12.0 \ VC \ include. Тогда мой проект скомпилирован без проблем.