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

Keil编译常见问题(一)

[复制链接]
kqh1120 发布时间:2015-1-28 10:24
STM32电机培训online,大佬带你玩电机, g# R) X+ M4 D" D) s
# O' _/ W* T- J6 k6 ~6 O' I+ }; \
Keil编译常见问题(二)
* c; d! d; R; l% m" j, y  @+ l) z1 K$ s8 s
KEIL MDK 5.24a免费下载
, i% f* e, k* j6 W
- G. ~, w, V6 J) e, ?
" a3 M: {0 [8 E; D, xerror: #18:
6.error: #18: expected a ")"# V  @' y7 s$ z) h8 H: c4 _6 p
如果是出现在c文件中, 多半是因为少了一个")",或者错误行有编译器不识别的字符
, Z% C3 _+ s& j4 O如果出现在头文件中,错误行又是一个函数声明,多半是因为在函数声明中有编译器不认识的字符
4 S, J, F, {  \1 m# P/ z
0 h8 n. J" B' q' ?error: #20error: #20: identifier "TIM2_IRQChannel" is undefined 谁能说说,哪里错了* J7 I4 [  ]2 J  D* U0 a" s6 I
你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。
  z4 N$ x3 \' Y' U$ @TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中
) I0 E( R* |, A1 h" v
% a7 U: d3 C, q6 Hwarning:  #1-D main.c(7): warning:  #1-D: last line of file ends without a newline
3 v& W/ y0 I# U) m( q; X% D: x当使用keil编译时,弹出这样的警告信息:main.c(7): warning:  #1-D: last line of file ends without a newline
; Y& j/ f; d; M. r# \1 N( P! ]. H这个是由于在main函数的“}”后,没有加回车。
8 D7 h1 q2 w$ \% [3 T2 L只要在main函数的“}”后加回车键,此警告信息即可消除。/ J% {  M! Q0 s  h
- C: Z5 G+ ^) z! M8 h% O
error:#65...test_menu.c(27):error:#65:expected a ";") ?0 k* _9 B0 H4 f
你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。
0 C: ^6 n. C' p8 G4 N1 KTIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中+ s  c% |; d9 w. K) i* a3 P7 S. G, ?

: [& G3 A. f$ `+ a: @5 {1 FError: L6200E Error: L6200E: Symbol temp multiply defined (by wenshidu.o and main.o).在编译的时候出现了这个问题,但是检查不出来,希望各位大侠帮帮忙  q# v+ @2 P8 R+ v. ^# u
什么变量你给付了两次值
' \5 d+ p/ d# h, E
你看看是不是那个外部变量你又给赋值了
0 {+ D- I) a$ imain.c申明,其他.c文件对应的.h文件中用extern引用
, X/ j0 E- b# ]3 x$ v# {/ u( _7 Y. C) e  u4 J; V' D
warning:  #223-D..\..\source\CCxx00_New.C(718): warning:  #223-D: function "_NOP_" declared implicitly
; ?2 @+ M0 m( ^& k在使用的文件中添加extern void _NOP_();既可- V& [0 ]4 [2 g3 y
  v. x3 r/ [4 ~' _3 C
warning:  #1295-D..\..\include\CCxx00_New.h(20): warning:  #1295-D: Deprecated declaration CC_XCal - give arg types8 W9 P& @  J9 X# V

  u  W: F% P# U# [( c6 C% v3 g( MError: L6218E: Undefined symbol.\Obj\output.axf: Error: L6218E: Undefined symbol FSMC_NORSRAMCmd (referred from tft_lcd.o).
6 m) }7 t, t0 `3 \! z/ [9 j2 A
.\Obj\output.axf: Error: L6218E: Undefined symbol FSMC_NORSRAMInit (referred from tft_lcd.o).! u1 @) D8 s/ ^
Target not created) z& s/ q1 `" V  _) |" S

- w$ F6 {& Y+ r  J7 v你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。2 m2 T3 y0 U6 d$ s$ X6 e- b
TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中' F* {4 ]% M3 t2 \1 x9 `1 w

0 `6 o6 d. `! C/ R5 \% ]error: #101:error: #101: has already been declared in the current scope1 F5 ?! O( R0 h1 B: v
# E6 _4 \6 o' j# Y( i1 G- \. u
将! q0 j) n0 [/ ~" x  v4 ]
#ifndef __STM32F10x_LIB_H
1 w' h. v, K; p4 e+ D: v! r3 o5 Y$ U#define __STM32F10x_LIB_H
! V$ H  o1 N1 o7 Z. M) I#endif调整到最后!. A( i8 M5 t4 T! h" U
6 L* O2 L* q: {; R4 `& n
赞 收藏 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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版