调试出现 WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START MODULE: STARTUP.obj (?C_STARTUP)
答案:4 悬赏:80 手机版
解决时间 2021-03-08 20:58
- 提问者网友:几叶到寒
- 2021-03-08 02:21
如何解决?
最佳答案
- 五星知识达人网友:罪歌
- 2021-03-08 03:37
因为文件里选择了generate assembler SRC file和assemble SRC file选项,将选项勾选去除,然后再重新进行即可解决,步骤如下:
1、首先第一步就是要把Source group组下面的A51.C删掉,如果没有删,在A51.c上点右键,选择remove file " 。
2、接着就是要建一个新的c文件,里面写一个空的函数,这时候把该文件添加到project中,注意该文件不能再选generate assembler SRC file和assemble SRC file选项。注意的是重新编译工程,如果警告该函数没被调用,在主文件中调一下。
3、然后就是其他:UNRESOLVED EXTERNAL SYMBOL 说明连接的时候没有找到外部变量
extern xdata unsigned char RxPnt。在某个.c文件里有xdata unsigned char RxPnt才行。
4、最后就是把主文件中的几个函数移至该文件,注意的是把该文件添加到project中,注意该文件不能再选generate assembler SRC file和assemble SRC file选项。重新编译工程即可。
1、首先第一步就是要把Source group组下面的A51.C删掉,如果没有删,在A51.c上点右键,选择remove file " 。
2、接着就是要建一个新的c文件,里面写一个空的函数,这时候把该文件添加到project中,注意该文件不能再选generate assembler SRC file和assemble SRC file选项。注意的是重新编译工程,如果警告该函数没被调用,在主文件中调一下。
3、然后就是其他:UNRESOLVED EXTERNAL SYMBOL 说明连接的时候没有找到外部变量
extern xdata unsigned char RxPnt。在某个.c文件里有xdata unsigned char RxPnt才行。
4、最后就是把主文件中的几个函数移至该文件,注意的是把该文件添加到project中,注意该文件不能再选generate assembler SRC file和assemble SRC file选项。重新编译工程即可。
全部回答
- 1楼网友:等灯
- 2021-03-08 06:21
是试过了,KEil编译通过,没有问题,可能是你Keil设置的问题,
解决办法:
1.是文件没有添加到工程里。
2.可能是因为存在没有被调用的已经定义的函数。
3.不知道你有没有把Source group组下面的A51.C删掉,如果没有删,在A51.c上点右键,选择remove file " ".
4.建一个新的c文件,里面写一个空的函数,把该文件添加到project中,注意该文件不能再选generate assembler SRC file和assemble SRC file选项。重新编译工程,如果警告该函数没被调用,在主文件中调一下。
5.建一个新的c文件,把主文件中的几个函数移至该文件,把该文件添加到project中,注意该文件不能再选generate assembler SRC file和assemble SRC file选项。重新编译工程。
其他:UNRESOLVED EXTERNAL SYMBOL 说明连接的时候没有找到外部变量
extern xdata unsigned char RxPnt; 只是说明引用外部变量,并不是实际的声明。
应该在某个.c文件里有xdata unsigned char RxPnt才行。
extern中对这个变量做了声明,说这个变量将会在这个文件中用到,但并没有定义
也就是那个变量并没有真实存在.
需要要某个地方定义一下,
也有可能是你定义了,但是被条件编译给去掉了也有可能.具体查一下工程里的所有源文件看看
- 2楼网友:佘樂
- 2021-03-08 05:14
由于在文件中选择了生成汇编程序SRC文件和汇编SRC文件选项,因此将删除该选项,然后重新执行该选项。步骤如下:
1、第一步是删除Source组下的A51.C.如果未删除,请右键单击A51.c并选择“删除文件”。
2、然后是构建一个新的c文件,它写一个空函数,这次将文件添加到项目中,注意文件不能选择生成汇编程序SRC文件并汇编SRC文件选项。请注意,项目已重新编译。如果未调用该函数,则在主文件中调用它。
3、然后另一个:UNRESOLVED EXTERNAL SYMBOL描述当外部变量extern xdata unsigned char RxPnt时找不到连接。在.c文件中有xdata unsigned char RxPnt。
4、最后,将主文件中的多个函数移动到文件中。请注意,该文件已添加到项目中。请注意,该文件不能再选择生成汇编程序SRC文件并组装SRC文件选项。重新编译项目。
- 3楼网友:罪歌
- 2021-03-08 04:21
外部符合没有连接过去,可以使用extern 作外部声明
希望对你能有所帮助。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯