解决 mbedtls AES 加密库编译错误: 初始化字符串过长及类型不匹配
这些错误是由于类型不匹配导致的。
-
在第 16 和 17 行,数组的初始化字符串太长。你需要确保数组的长度足够容纳初始化字符串,或者使用指针来存储较长的字符串。
-
在第 28 和 34 行,你试图将'const unsigned char*' 类型转换为'unsigned char*' 类型,这是不允许的。你需要确保参数类型匹配,或者使用'const_cast' 来转换参数类型。
-
在 mbedtls\aes.h 的第 306 行,该错误是由于第 28 行和第 34 行的错误引起的。你需要修复这两个错误,然后再试一次。
解决方法是:
- 第 16 和 17 行:确保数组长度足够容纳初始化字符串,或者使用指针来存储较长的字符串。
- 第 28 和 34 行:如果确实需要将'const unsigned char*' 转换为'unsigned char*',则可以使用'const_cast' 来进行转换。如果不需要修改参数的值,最好避免进行这样的转换。
- mbedtls\aes.h 的第 306 行:修复前面的错误,确保参数类型匹配。
修改代码后重新编译,应该可以解决这些错误。
原文地址: http://www.cveoy.top/t/topic/qyb4 著作权归作者所有。请勿转载和采集!