错误:uint32_t的冲突声明

时间:2014-05-24 04:59:56

标签: c++ cuda typedef uint32 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'

有任何解决此问题的建议吗?感谢

3 个答案:

答案 0 :(得分:3)

尝试#include <cstdint>std::uint32_t

答案 1 :(得分:1)

Mybe这有用吗?

也许#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

答案 2 :(得分:0)

您可以查看在vector_types.h中如何定义uint32_t,也许已经存在一些#ifndef内容,您可以通过重新排序包含来逃脱。我通过谷歌找到了this版本,但根本没有uint32_t声明。