下载代码:
下载mbedtls TLS3.2.1 版本
构建工具: MinGW
构建:
下载工程后,解压,进入工程目录,执行命令
编译过程中,如果出现:
net_sockets.c:66:21: fatal error: wspiapi.h: No such file or directory
原因: 这是由于 MinGW 默认针对 Windows 2000而没有提供wspiapi.h.
解决: 打开net_sockets文件,在include wspiapi.h之前, 新增下面代码
#if defined(__MINGW32__) && (_WIN32_WINNT < 0x501)
# undef _WIN32_WINNT
#define _WIN32_WINNT 0x501
#endif
最后生成3个.a 文件,编译成功
其他情况:
编译出现下述错误:
process_begin: CreateProcess(NULL, uname -s, ...) failed.
此时不应有 python3。
'scripts' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
此时不应有 python3。
Makefile:74: *** " scripts/generate_psa_tests.py --list" failed. Stop.
Makefile:24: recipe for target 'mbedtls_test' failed
mingw32-make: *** [mbedtls_test] Error 2
原因:
Mbed TLS 附带一组 6000 多个单元测试。测试程序由 Python 脚本生成,并由 Perl 脚本执行。为了构建 Mbed TLS 的这一部分,需要 Python 和 Perl 环境。安装
Python和二进制发行版,如
ActiveState Perl或
Strawberry Perl。或者,您可以从 MinGW 中的源代码编译 Perl 和 Python
如果不测试,可以不安装;