ucosii版本:2.91
lwip版本:1.3.2
keil版本:4.21.00
移植后发现如下报错信息:
1. ..\USER\lwip-1.3.2\lwip-1.3.2\src\include\lwip/arch.h(85): warning: #47-D: incompatible redefinition of macro "ENOMEM" (declared at line 121 of "C:\Keil\ARM\RV31\INC\errno.h")
2...\USER\lwip-1.3.2\lwip-1.3.2\src\include\lwip/arch.h(95): warning: #47-D: incompatible redefinition of macro "EINVAL" (declared at line 120 of "C:\Keil\ARM\RV31\INC\errno.h")
3...\USER\lwip-1.3.2\lwip-1.3.2\src\include\lwip/arch.h(106): warning: #47-D: incompatible redefinition of macro "EDOM" (declared at line 76 of "C:\Keil\ARM\RV31\INC\errno.h")
4...\USER\lwip-1.3.2\lwip-1.3.2\src\include\lwip/arch.h(107): warning: #47-D: incompatible redefinition of macro "ERANGE" (declared at line 87 of "C:\Keil\ARM\RV31\INC\errno.h")
5...\USER\lwip-1.3.2\lwip-1.3.2\src\include\lwip/arch.h(159): warning: #47-D: incompatible redefinition of macro "EILSEQ" (declared at line 100 of "C:\Keil\ARM\RV31\INC\errno.h")
经检查是安装的keil中,ENOMEM、EINVAL、EDOM、ERANGE、EILSEQ的宏定义与keil自带的宏定义重复,则只要将lwip中的arch头文件的冲定义部分注释掉即可。