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