为什么总是提示use of undeclared

就是一直提示使用了什么什么未定义的变量或者函数名,但那些都是在库函数里有的啊,比如GPIO_InitTypeDef什么的,我发现是因为没有包含那些头文件,但是我参照的例子也只是包含了一个stm32f10x.h,而且难道那么多的库函数头文件都要包含进去吗?总觉得不太合理。编译出来是6个错误,453个警告。请求解答。

1.看头文件
2.看变量作用域
3.可以考虑修复编译器,可能是你无意中改变了文件访问路径什么的
我之前也遇到过这种情况

肯定要先包头文件才能使用里面的变量和函数啊。你参照的例子说不定是在那个头文件里面把其他的头文件都包含了。

这种问题就是头文件没有包含对的问题,不止要包含对头文件而且你的项目编译时要能识别到这个头文件的目录(通过配置,比如有的时makefile中配置,有的编译加参数指定目录,有的是在编译器中配置的)