无法解析类型 'byte'
Type 'byte' could not be resolved
我刚刚在Eclipse上安装了NDK,但遇到了一些问题。。
这是代码:
#include <jni.h>
#include <stdlib.h>
#include <stdio.h>
void deleteFile(const char *fileName) {
remove(fileName);
}
void writeFile(const char *fileName, byte array) {
}
但是出了问题。。我得到了这个错误:
jni/[projectName].cpp:9:38: error: 'byte' has not been declared
字节无法解析!这是一个大问题,因为我绝对需要那种类型。。我必须用它把数据写入文件!
我遵循了很多教程,我还尝试导入我所有的MinGW库,但没有成功。
byte
不是标准的C或C++类型。。。它可能是非标准头文件中的typedef
。你在哪里见过那种类型的代码?你想用const unsigned char *
吗?
我知道Visual Studio定义了BYTE类型:
typedef unsigned char BYTE; // 8-bit unsigned entity.
typedef BYTE * PBYTE; // Pointer to BYTE.
但这不是标准。它是"字节",而不是"字节"。
'byte'在标准C或C++中不存在,如果所有代码都依赖,请使用'jbyte',它在该标头中定义,并映射到一个8位无符号整数类型。
或者,您可以用typedef定义"byte",如下所示:
typedef unsigned char byte;
并确保所有源都使用/解析它(例如,将它放在共享标头中)。
一个稍微更正确的方法是:
#include <inttypes.h>
typedef uint8_t byte;
它在所有支持的Android平台上都是等效的,但需要额外的包含。
(从技术上讲,在一些非常奇怪的平台上,"char"可以超过8位,但它们都不会成为Android的目标)。
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 防止主数据类型C++的隐式转换
- 大量序列中核苷酸类型的快速计数
- 如何从C++中的依赖类型中获得它所依赖的类型
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 是否可以初始化不可复制类型的成员变量(或基类)
- 如何获取std::result_of函数的返回类型
- 从父命名空间重载类型
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 访问者访问变体并返回不同类型时出错
- 在C++中,如何在变量中正确存储 BYTE 类型?
- 无法初始化以 std::byte 作为成员类型的位字段
- 是否可以将std :: byte用作枚举类的基础类型
- 类型是否可以具有除'n-byte alignment'以外的对齐要求
- "byte"数据类型包含奇怪的字符
- 正在使用 BYTE 可移植类型的变量
- 将 'bar 类型的向量复制到 BYTE 类型的向量
- 无法解析类型 'byte'