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

Keil编译常见问题(一)

[复制链接]
kqh1120 发布时间:2015-1-28 10:24
STM32电机培训online,大佬带你玩电机: C! t( D2 K* M
* G9 _. |" b4 a( Y2 l
Keil编译常见问题(二)7 {8 V6 l% ]- o) t7 Z& L) k5 H

/ Z# a6 K, c7 LKEIL MDK 5.24a免费下载2 b+ r. [; X( i% x& T: Y, T

7 t! \% M5 b$ @
3 l8 |$ M  U6 u0 \! ]; x7 y% Oerror: #18:
6.error: #18: expected a ")"% @! O6 i$ k5 {" ~  ?
如果是出现在c文件中, 多半是因为少了一个")",或者错误行有编译器不识别的字符5 f& M4 E- b3 @% \4 \- U/ T7 Q
如果出现在头文件中,错误行又是一个函数声明,多半是因为在函数声明中有编译器不认识的字符
& R! m- G5 p8 o, `
( L: ?3 }  c, V' O1 Kerror: #20error: #20: identifier "TIM2_IRQChannel" is undefined 谁能说说,哪里错了
7 w& W# B1 Y8 W; x) ?. R4 `! \' i你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。
0 }2 h4 K& \5 g5 XTIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中
; [# c5 x0 C  }  i; t
# h- `7 j" f) k! ~% h8 }, Y1 vwarning:  #1-D main.c(7): warning:  #1-D: last line of file ends without a newline- v. W6 z) R+ M
当使用keil编译时,弹出这样的警告信息:main.c(7): warning:  #1-D: last line of file ends without a newline
% U+ f6 T& ]6 @这个是由于在main函数的“}”后,没有加回车。. G3 u8 [6 D6 N2 J  ]
只要在main函数的“}”后加回车键,此警告信息即可消除。
- P8 t% ~& O$ J2 F& P1 Q4 Y9 K2 ]$ z$ }; I7 e2 ?7 @3 I9 H% Q6 g
error:#65...test_menu.c(27):error:#65:expected a ";"; }% _4 x% z$ j; w0 h1 a
你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。5 m3 y7 h, g# ^- I
TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中& |& t4 e" w3 P! {8 F

4 _6 D! H' W* p, ]Error: L6200E Error: L6200E: Symbol temp multiply defined (by wenshidu.o and main.o).在编译的时候出现了这个问题,但是检查不出来,希望各位大侠帮帮忙6 g) p' z! ?( \
什么变量你给付了两次值1 `" p( K# f3 ~8 A' D2 i
你看看是不是那个外部变量你又给赋值了
# d+ W& h" d! u3 xmain.c申明,其他.c文件对应的.h文件中用extern引用
5 i! c+ R! g& y/ H, s: {, a6 E& M. I( r( W+ Y9 z6 ]6 N
warning:  #223-D..\..\source\CCxx00_New.C(718): warning:  #223-D: function "_NOP_" declared implicitly
9 g  h; }  b/ y3 _" q在使用的文件中添加extern void _NOP_();既可
7 D+ L" l" [) w/ f6 \" V$ F
) e4 x  S2 g. s$ wwarning:  #1295-D..\..\include\CCxx00_New.h(20): warning:  #1295-D: Deprecated declaration CC_XCal - give arg types; i* U: @# {6 K2 w( X( l
) U, T) s& J% E# L  Z6 R" J4 C
Error: L6218E: Undefined symbol.\Obj\output.axf: Error: L6218E: Undefined symbol FSMC_NORSRAMCmd (referred from tft_lcd.o).1 |& O  R5 Q* A" Y2 ]0 k
.\Obj\output.axf: Error: L6218E: Undefined symbol FSMC_NORSRAMInit (referred from tft_lcd.o).4 v1 t/ a; Q0 U* }$ x$ L
Target not created  b2 q1 [$ @$ e7 p8 ~; e' O9 L
! P4 u& h. v% k5 b$ R
你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。
8 n" g, V, c; q+ dTIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中
8 F) ?$ ?% |7 |+ q: U! D
4 F8 j6 d# g6 Y/ L, ?error: #101:error: #101: has already been declared in the current scope
/ v; a) u& y& \0 q& Y, A1 A( y& n, D2 X7 C2 p
. i2 f  x3 v1 f. \! e; w
#ifndef __STM32F10x_LIB_H
, \- b( a$ I/ v+ B#define __STM32F10x_LIB_H- l$ M, d, g( n% r% [
#endif调整到最后!
0 ], A2 a9 S+ G0 f, b% T, N
% k* k8 ?5 q$ R) {
收藏 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 手机版