[英]error: typedef redefinition with different types
我尝试使用NDK在Android Studio中编译c ++ lib并得到一些错误:
C:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\..\lib64\clang\3.8.275480\include\stddef.h:62:23: error: typedef redefinition with different types ('unsigned long' vs 'unsigned int') typedef __SIZE_TYPE__ size_t; ^../../../../src/main/cpp/include\Crypto/Core/Types.h:20:22: note: previous definition is here typedef unsigned int size_t;
当我定义
typedef unsigned long size_t;
我得到:
C:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\..\lib64\clang\3.8.275480\include\stddef.h:62:23: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long') typedef __SIZE_TYPE__ size_t;^ ../../../../src/main/cpp/include\Crypto/Core/Types.h:20:23: note: previous definition is here typedef unsigned long size_t;
我该如何解决?
您不能使用typedef
重新定义size_t
。 如果要使用32位无符号整数,可以编写:
typedef unsigned long u32t
size_t
已经是由几种C / C ++标准定义的数据类型。 尝试键入其他尚未在语言中定义的内容。
例:-
typedef unsigned long my_size_t;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.