使用IAR编译时出现Error[Pa045]: function "M10_GPIO_Init" has no prototype编译错误,网络上大多数的解决方案是在Options--->C/C++Compiler--->Language1选项中取消勾选Require prototype。
根据编译错误信息提示的内容来看,这是由于函数没有函数声明导致的。在IAR中勾选Require prototype选项,意味着除main函数外的所有函数都需要函数声明。因此去掉 Require prototype选项,重新编译即可解决问题。当然,也可以不去掉Require prototype选项,同时为每个函数添加相应的函数声明。对于无形参的函数,其函数声明中应使用void声明参数列表。
相关文章: