FreeRTOS
错误信息
/Users/esp8266/projects/wendeng/build/esp-aliyun/libesp-aliyun.a(wrapper_os.o):(.literal.HAL_ThreadCreate+0x4): undefined reference to `pthread_create'
/Users/esp8266/projects/wendeng/build/esp-aliyun/libesp-aliyun.a(wrapper_os.o):(.literal.HAL_ThreadDelete+0x0): undefined reference to `pthread_exit'
/Users/esp8266/projects/wendeng/build/esp-aliyun/libesp-aliyun.a(wrapper_os.o):(.literal.HAL_ThreadDelete+0x4): undefined reference to `pthread_cancel'
/Users/esp8266/projects/wendeng/build/esp-aliyun/libesp-aliyun.a(wrapper_os.o):(.literal.HAL_ThreadDelete+0x8): undefined reference to `pthread_join'
/Users/esp8266/projects/wendeng/build/esp-aliyun/libesp-aliyun.a(wrapper_os.o): In function `HAL_ThreadCreate':
/Users/esp8266/esp-aliyun/wrappers/wrapper_os.c:267: undefined reference to `pthread_create'
/Users/esp8266/esp-aliyun/wrappers/wrapper_os.c:267: undefined reference to `pthread_create'
/Users/esp8266/projects/wendeng/build/esp-aliyun/libesp-aliyun.a(wrapper_os.o): In function `HAL_ThreadDelete':
/Users/esp8266/esp-aliyun/wrappers/wrapper_os.c:267: undefined reference to `pthread_exit'
/Users/esp8266/esp-aliyun/wrappers/wrapper_os.c:267: undefined reference to `pthread_cancel'
/Users/esp8266/esp-aliyun/wrappers/wrapper_os.c:267: undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
原因:
ESP8266_RTOS_SDK切换到v3.4分支,又切了回来,可能会导致这个错误。
解决方法:
1. 首先保证ESP8266_RTOS_SDK版本为v3.3
git switch release/v3.3
2. 复位设置
make chip=esp8266 defconfig