KEIL*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START MODULE: .\STARTUP.obj (?C_STARTUP)

Buildtarget'Target1'assemblingSTARTUP.A51...linking...***WARNINGL1:UNRESOLVEDEXTERNAL... Build target 'Target 1'
assembling STARTUP.A51...
linking...
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C_START
MODULE: .\STARTUP.obj (?C_STARTUP)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: ?C_START
MODULE: .\STARTUP.obj (?C_STARTUP)
ADDRESS: 000DH
Program Size: data=9.0 xdata=0 code=15
"bujindianji" - 0 Error(s), 2 Warning(s).
展开
 我来答
匿名用户
2016-06-02
展开全部
如果是KEIL初学者, 如果C程序很简单,而且 比对过每个单词都没有问题。 实在找不到错误, 那还有一种可能: 你没有将这个C文件加入到工程中~~~ 我当时出现的错误代码与你这个 一模一样~~~~为了这么简单的东西找了好多资料。 自学的人伤不起。 心酸呀~~ /crying
匿名用户
2019-03-30
展开全部
也有可能是你复制?C_START这个函数时没有真正复制进去,即在keil中看到是复制过去了,但是你可以尝试用notepad++或记事本打开这个.c文件就会发现根本没有添加进去复制的内容,也可以将.c文件从工程中移除,再打开这个.c文件也会发现没有添加复制内容。这是偶尔现象,尤其出现在从一个工程复制函数到另一个工程,或头文件中添加某个定义也会出现这现象。解决方法:
1、将该整个工程文件关掉,然后用记事本或notepad++等其他编辑软件把所要复制(即警告?C_START这个函数)重新复制进去,保存,再打开工程,编译;
2、将写有?C_START这个函数的.c文件从工程中移除,重新写好或复制该函数,保存,再将.c文件添加进工程,编译。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友25f2111
2013-04-22
知道答主
回答量:37
采纳率:0%
帮助的人:23万
展开全部
外部符合没有连接过去,可以使用extern 作外部声明
追问
具体呢,小白不懂
追答
就是说如果你是多个工程的文件,在比如:1.c的文件中有变量:unsigned char TMP; 但是你在1.h的头文件中也只声明unsigned char TMP的话,你在Main.c中先包含#include "1.h" 要用TMP的时候 必须在1.h当中 进行声明:extern unsigned char TMP; 这时 你在main.c或者其他文件中才可以引用。如果还不懂就把代码帖出来

还一种就是存储空间超出范围也会出现类似的情况,但你这里好像没多少代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chcc123
2019-04-14 · TA获得超过222个赞
知道答主
回答量:34
采纳率:0%
帮助的人:7.2万
展开全部

解决方法:

For a project in the SMALL memory model that uses no floating point arithmetic, C51S.LIB is required.

For a project in the LARGE memory model that uses floating-point, C51FPL.LIB and C51L.LIB are required.

If a project uses floating arithmetic, it is important that C51FPx.LIB is included before the standard library file C51x.LIB. Otherwise printf and scanf will not work with floating-point numbers.

When you are using µVision, you may simply add the require library file(s) to the project in the same way as you are adding source files.

官网给的解释:网页链接

这些lib文件在keil\C51\LIB下都有

在C文件里使用汇编语言必须要进行这项操作否则会有warning

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叶公好马
2019-03-03
知道答主
回答量:3
采纳率:0%
帮助的人:2.2万
展开全部
你没有将这个C文件加入到工程中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式