keil编译不过的常见问题

keil编译不过的常见问题

  • 1、编码方式不统一
    • 编译报错例
    • 解决方法 改成同一编码方式
  • 2、重复定义
    • 编译报错
    • 解决方法
      • 保证工程里只有一个含有main()的c文件
      • 或者保证USER里只有一个含有main()的c文件

1、编码方式不统一

编译报错例

复制其他人的代码时可能会
keil编译不过的常见问题_第1张图片
将代码粘贴到富文本编译器:
keil编译不过的常见问题_第2张图片
build报的错:
在这里插入图片描述
\a807d 是一个Unicode编码
Unicode可同时包含65536个字符,ASCII/ANSI只包含255个字符,实际上是Unicode的一个子集。Unicode字符通常用十六进制编码方案表示,范围在’\u0000’到’\uFFFF’之间。\u0000到\u00FF表示ASCII/ANSI字符。\u表示这是一个Unicode值.

解决方法 改成同一编码方式

keil编译不过的常见问题_第3张图片

keil编译不过的常见问题_第4张图片

2、重复定义

编译报错

linking…
…\project2.axf: Error: L6200E: Symbol __ARM_use_no_argv multiply defined (by main1.o and main.o).
…\project2.axf: Error: L6200E: Symbol main multiply defined (by main1.o and main.o).
Not enough information to list image symbols.
Not enough information to list the image map.

keil编译不过的常见问题_第5张图片

解决方法

保证工程里只有一个含有main()的c文件

这个应该是一个工程里只能有一个main()入口
keil build的话会整体将USER里的内容编译每一个main()都会光顾,所以就会出现重复定义这种错误,只要保证一个工程里只有一个main()就行。

或者保证USER里只有一个含有main()的c文件

keil编译不过的常见问题_第6张图片
把USER里其他含有main()的c文件都删除(不引入就可以)

你可能感兴趣的:(stm32,bug,error,stm32,虚拟现实)