ошибка: конфликтующее объявление для uint32_t

Когда я пытаюсь сначала скомпилировать свою программу, я получаю эту ошибку:

ошибка: uint32_t не называет тип

Тогда я включил

#include <stdint.h>

Теперь оказалось, что это ошибка:

/include/stdint.h:52: ошибка: конфликтующее объявление «typedef unsigned int uint32_t»

/cuda/include/vector_types.h:452: ошибка: «uint32_t» имеет предыдущее объявление как «typedef struct uint32_t uint32_t»

Любое предложение, чтобы решить это? Спасибо

1

Решение

Пытаться #include <cstdint> а также std::uint32_t,

3

Другие решения

Может это поможет?

может быть #include cstdint, но это может не всегда работать или пытаться

#if defined __UINT32_MAX__ or UINT32_MAX
#include <inttypes.h>
#else
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
typedef unsigned long long uint64_t;
#endif
1

Вы можете проверить, как uint32_t определен в vector_types.h, может быть, там уже есть какой-то материал #ifndef, и вы можете уйти, просто переупорядочив ваши включения. я обнаружил этот версия через гугл но там вообще нет объявления uint32_t.

0
По вопросам рекламы [email protected]