你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Keil编译常见问题(一)

[复制链接]
kqh1120 发布时间:2015-1-28 10:24
STM32电机培训online,大佬带你玩电机
' A. W# f4 R* n( H) U8 e& _
" E: N8 \' g/ l! a7 [4 R1 E0 RKeil编译常见问题(二); P. b( O$ f$ R; i0 `

! E4 j3 O- `- QKEIL MDK 5.24a免费下载
& ?! h( J6 f+ ^; A
6 Y' j5 F' r  ]- T
9 f& y, w! K' m( h0 h, }error: #18:
6.error: #18: expected a ")"
, \5 y4 N/ x! h" y1 I如果是出现在c文件中, 多半是因为少了一个")",或者错误行有编译器不识别的字符
+ ?' O9 S# {0 f: ?; u如果出现在头文件中,错误行又是一个函数声明,多半是因为在函数声明中有编译器不认识的字符  O& E5 s" Z0 [

6 A* A/ }! I5 D) p  R6 Yerror: #20error: #20: identifier "TIM2_IRQChannel" is undefined 谁能说说,哪里错了, N3 l2 f( ~! F2 S1 w9 q# r
你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。/ _6 c+ x8 C, Z! s. Q' `, b$ R+ x# G( n
TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中' P  t$ F6 Q. Q5 P! S8 L5 \$ u

# S) f; g4 M9 O. P  M$ z' _4 Fwarning:  #1-D main.c(7): warning:  #1-D: last line of file ends without a newline
2 a7 d/ o, ~' [当使用keil编译时,弹出这样的警告信息:main.c(7): warning:  #1-D: last line of file ends without a newline
4 y0 O/ z+ A# R这个是由于在main函数的“}”后,没有加回车。
2 \. h: @2 L, v+ x) p3 W只要在main函数的“}”后加回车键,此警告信息即可消除。  r. N7 `9 N0 L! c1 _! h5 v! s

5 z% ~! x8 l! _# ^7 D. T+ ]' ^7 Merror:#65...test_menu.c(27):error:#65:expected a ";"
$ O' y, U# I# d& l- k/ T" z  x你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。
$ o6 B" U/ N$ \- ]0 Z% LTIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中
9 k; }4 K$ a1 L5 Y6 k7 k, x+ r# ~9 A2 ~
Error: L6200E Error: L6200E: Symbol temp multiply defined (by wenshidu.o and main.o).在编译的时候出现了这个问题,但是检查不出来,希望各位大侠帮帮忙
/ V! f4 ]3 m  t. e, f" p1 Y% G什么变量你给付了两次值, A/ e0 x$ n; Z0 d1 H3 a1 h8 k/ T9 @( B
你看看是不是那个外部变量你又给赋值了
6 b% J( [% P+ E; t. i+ jmain.c申明,其他.c文件对应的.h文件中用extern引用( _  ~; ]& i- d6 e
0 p' Z0 z, K8 B/ U5 @& E. V
warning:  #223-D..\..\source\CCxx00_New.C(718): warning:  #223-D: function "_NOP_" declared implicitly' `1 ]- g# ~8 w+ ^
在使用的文件中添加extern void _NOP_();既可) B7 \2 j: d* }6 n. D

! Y2 |; L6 L1 L  z. Q/ {6 gwarning:  #1295-D..\..\include\CCxx00_New.h(20): warning:  #1295-D: Deprecated declaration CC_XCal - give arg types
: S. D! _4 y6 l9 D4 \
% _' P. G7 f0 I( C: \" `# iError: L6218E: Undefined symbol.\Obj\output.axf: Error: L6218E: Undefined symbol FSMC_NORSRAMCmd (referred from tft_lcd.o).& r6 H* o% w9 z
.\Obj\output.axf: Error: L6218E: Undefined symbol FSMC_NORSRAMInit (referred from tft_lcd.o).
+ t1 g4 u' y( }+ \0 T
Target not created
) [& c7 I% r# G4 @) ^( F* y
; `- F: ~+ T7 [+ G9 X
你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。! D! r+ c4 \+ |0 `' @" t; y/ x
TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中% Q+ b0 H# _8 z' `0 ^* d( l

- ?6 t6 W. r& B3 ]$ X! x! {& ferror: #101:error: #101: has already been declared in the current scope
* v, }  n) F8 ^; f; p7 n. A
5 W+ u7 r% v  T. G+ W/ G
5 j5 p) i) Q; a. }( v  R+ @! V#ifndef __STM32F10x_LIB_H/ R$ b7 b0 z1 R: j- a' O
#define __STM32F10x_LIB_H
% z8 v( w4 p+ b( n#endif调整到最后!
' p! u; \% `* U6 B. j" s: p! C3 P. v( l/ b! z+ ]
收藏 2 评论10 发布时间:2015-1-28 10:24

举报

10个回答
天天晓宇 回答时间:2015-1-28 11:38:28
stary666 回答时间:2015-1-28 12:18:43
moyanming2013 回答时间:2015-1-28 12:25:12
过来学习。。。
wu1169668869 回答时间:2015-1-28 12:28:53
不错,等到错了再出来找orz
时光碎了天 回答时间:2015-1-28 12:36:51
很不错的
cxtarm 回答时间:2015-1-28 12:49:24
子曰小玖 回答时间:2015-1-28 13:09:08
coolblood 回答时间:2015-1-28 13:42:36
不错
bldc小菜鸟 回答时间:2015-1-28 15:55:06
不错,不错,最近做实验keil越来越操蛋。
Scofield_Gu 回答时间:2017-6-30 12:37:28
好好好

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版