小问题,很容易就会发现是编译器的问题,不过我这里稍微写一下。我这里写得不好,就是给自己看看而已。网上有其他大神有更清晰的解决方案,我可以给你推荐一个https://www.jianshu.com/p/bff9bd75210c 。
先唠嗑几句
最新我发现安装最新的Keil μVision V5编译以前的代码。完了,这急着编译了。
但是没有办法,编译不了我又能怎么办呢,只能看看是什么问题咯。打开项目配置一看,发现问题了,ARM Complier一栏里赫然写着V6.18。
我这程序之前都是用V5的编译器编译的。那好办,换成V5的就行了呗,easy。打开下拉框,嗯???我的V5呢,咋没有了。才知道原来新版的Keil已经没有V5的编译器了,现在改代码吧,来不及。那他没有我还不能自己装一个吗?
于是一顿操作(指去百度一顿搜索,便找到了答案)
动手干活
1、首先我们需要在官网下载一个V5版本的编译器
地址:https://developer.arm.com/downloads/-/legacy-compilers
下图中随意一个都可以,只是我挑了一个最新的。
2、安装
你可以安装到任何你喜欢的地方。但我习惯按照习惯安装在Keil的路径里头ARM文件夹里。
3、配置项目
打开你的一个项目,点这个按钮
选择Folders/Extensions
在这里找到你刚刚安装的编译器,添加进来就可以修改啦。
写在后面的话
其实这个问题最合理的解决方案是修改代码。因为代码在V6的编译器中不通过,其实也意味着代码可能存在不规范的问题。如果你有能力修改代码,那我更倾向与建议使用更新的编译器,人总是要向前看的不是么。我后面也修改了代码,现在我的代码在6代的编译器也是可以通过的。那这个解决方案是没有意义了么,也不是。因为很多新手刚刚拿到一份别人给的例程,他们可能还没有足够的能力去修改,他们想要得到的只是代码跑起来。毕竟网上很多代码还是只能在旧的标准里面跑不是么?