在用别人keil4工程的时候,犯了个低级错误,
当我把他的工程直接在我这边编译,但我发现两边的库文件不一样,于是乎我傻乎乎的将他的库移到我的keil默认的库的地方, 在后来link的时候发现发现并不能找到.h文件里的 标号,这时才恍然大悟。我们包含.h只是留个空位给编译器,然后编译器.......我傻啊,怎么能这样移植别人用的库,而且别人的库又没有编译,这就像去年做软件工程课程设计的时候,由于用的mfc然后vc经常崩溃,然后崩溃后部分资源啊,什么什么的经常丢失,编译的时候出现莫名其妙的 什么什么符号未找到。明知道这个今天却还是忘了。
终于发现我的Keill 4 里面的库稀奇古怪,去网上到处找固件库的怎么更新,由于自认为太复杂最终放弃,改用修改默认的搜索路径解决。
问题终于解决了,把里面的includepath全改到 我一个新下的固件库中。还好不是太多,这次对固件库的查看,乱搞。 知道了里面新旧库的冲突,stm32f10x_lib.h和stm32f10x.h 以及..type.h 和stdint.h 以及 stm32f10x_conf.h 的一些作用。以及在keil中定义全局宏(由芯片类型决定代码)