链接步骤无法找到符号(XC8编译) [英] Link step can't find symbols (XC8 compiler)
问题描述
我试图编译和链接使用XC8编译的C程序。我从C18编译器改变,做了一些细微的变化兼容性的code。随着C18的code编译和链接就好了。随着XC8,编译去罚款,但链接步骤失败,此错误:
错误[500]; 0未定义的符号:
_putch(server.obj)_ENC_Init(server.obj)_ENC_WriteRegister(server.obj)_ENC_ReadRegister(server.obj)
由于编译成功,我想找到原型,ERGO在 .H
文件包含还好。我猜编译器无法找到 .C
文件。
功能 putch
是的不的叫我自己的程序,但它被称为在的putchar
我使用该功能。首先是 ENC功能_
是我自己的函数。
我添加了两个路径到XC8工具包的包含搜索路径:
-
C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\源
,编译器在其中的.C
文件的位置,我相信 -
C:\\ ... \\ lib中
,那里有我自己的.C
文件位于李。 >
不过,我仍然得到错误。
我怎样才能解决这个问题呢?
这是完整的日志:
咨询[1233]用人18F4620勘误变通办法:
咨询[1234] *损坏的快速中断影子寄存器
咨询[1234] *在RAM中的位置数据可以异步是否损坏。写的过程中发生复位
警告[1273]; 。无所不知code世代在自由模式下不可用
cgpic18--edf = C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\ en_msgs.txt--cmode = HTC -Og9s -q -E1 -w9 -PMS0:code: 0 @ code = 00H-地址0FFFFh -PMS0:code:0 @ CONST = 00H,地址0FFFFh -PMS0:code:0 @ SMALLCONST = 01000h-010FFhx240 -PMS0:code:0 @ MEDIUMCONST = 01000h-0FFFFh之间-PMS1:数据:8 @ COMRAM = 01H-07FH -PMS1:数据:0 @ ABS1 = 00H-0F7Fh -PMS1:数据:0 @两字= 01H-0F7Fh -PMS1:数据:0 @ RAM = 080H-0FFh的,0100H-01FFhx14,0F00h-0F7Fh -PMS1:数据:400 @ BANK0 = 080H-0FFh的-PMS1:数据:800 @ BANK1 = 0100H-01FFh单元-PMS1:数据:1000 @ BANK2 = 0200H-02FFh -PMS1:数据:2000 @ BANK3 = 0300H-03FFh单元-PMS1:数据:0 @ BANK4 = 0400H-04FFh -PMS1:数据:0 @ BANK5 = 0500H-05FFh -PMS1:数据:0 @ = Bank6的0600h-06FFh -PMS1:数据: 0 @ BANK7 = 0700h-07FFH -PMS1:数据:0 @ BANK8 = 0800H-08FFh -PMS1:数据:0 @ BANK9 = 0900H-09FFh -PMS1:数据:0 @ BANK10 = 0A00h-0AFFh -PMS1:数据:0 @ BANK11 = 0B00h-0BFFh -PMS1:数据:0 @ BANK12 = 0C00H-0CFFh -PMS1:数据:0 @ BANK13 = 0D00H-0DFFH -PMS1:数据:0 @ BANK14 = 0E00h-0EFFh -PMS1:数据:0 @ BANK15 = 0F00H-0F7Fh -PMS1:数据:0 @ SFR = 0F80h-0FFFh过-PMS3:配置:0 @ CONFIG = 0300000h-030000Dh -PMS2:EEDATA:0 @ EEDATA = 0F00000h-0F003FFh -PMS4:idloc:0 @ iDLOC = 0200000h- 0200007h--cfgdata = C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\ cfgdata \\ 18f4620.cfgdata--cfg preFIX = __ CFG_ -MLFSROK -MIEEE_DBL -MIEEE_FLT -PPIC18F4620,1 ,65535,3967,8194,31,1,0,127,0 -fp -AC:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ S234。 --funcdat = C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.5 --addrqual =忽略--runtime =初始化--runtime =明确server.p1C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ LIB \\ PIC18-PLIB-HTC-18f4620.lppC:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ LIB \\ PIC18-STDLIB-HTC-D32-f32.lpp
cgpic18--edf = C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\ en_msgs.txt--cmode = HTC -q -E1 -Dserver.sdb -PMS0:code: 0 @ code = 00H-地址0FFFFh -PMS0:code:0 @ CONST = 00H,地址0FFFFh -PMS0:code:0 @ SMALLCONST = 01000h-010FFhx240 -PMS0:code:0 @ MEDIUMCONST = 01000h-0FFFFh之间-PMS1:数据:8 @ COMRAM = 01H-07FH -PMS1:数据:0 @ ABS1 = 00H-0F7Fh -PMS1:数据:0 @两字= 01H-0F7Fh -PMS1:数据:0 @ RAM = 080H-0FFh的,0100H-01FFhx14,0F00h-0F7Fh -PMS1:数据:400 @ BANK0 = 080H-0FFh的-PMS1:数据:800 @ BANK1 = 0100H-01FFh单元-PMS1:数据:1000 @ BANK2 = 0200H-02FFh -PMS1:数据:2000 @ BANK3 = 0300H-03FFh单元-PMS1:数据:0 @ BANK4 = 0400H-04FFh -PMS1:数据:0 @ BANK5 = 0500H-05FFh -PMS1:数据:0 @ = Bank6的0600h-06FFh -PMS1:数据: 0 @ BANK7 = 0700h-07FFH -PMS1:数据:0 @ BANK8 = 0800H-08FFh -PMS1:数据:0 @ BANK9 = 0900H-09FFh -PMS1:数据:0 @ BANK10 = 0A00h-0AFFh -PMS1:数据:0 @ BANK11 = 0B00h-0BFFh -PMS1:数据:0 @ BANK12 = 0C00H-0CFFh -PMS1:数据:0 @ BANK13 = 0D00H-0DFFH -PMS1:数据:0 @ BANK14 = 0E00h-0EFFh -PMS1:数据:0 @ BANK15 = 0F00H-0F7Fh -PMS1:数据:0 @ SFR = 0F80h-0FFFh过-PMS3:配置:0 @ CONFIG = 0300000h-030000Dh -PMS2:EEDATA:0 @ EEDATA = 0F00000h-0F003FFh -PMS4:idloc:0 @ IDLOC = 0200000h- 0200007h--cfgdata = C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\ cfgdata \\ 18f4620.cfgdata--cfg preFIX = __ CFG_ -MLFSROK -MIEEE_DBL -MIEEE_FLT -PPIC18F4620,1 ,65535,3967,8194,31,1,0,127,0 -AC:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ S234。 --funcdat = C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.5 --addrqual =忽略--runtime =初始化--runtime =明确server.p1C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ LIB \\ PIC18-PLIB-HTC-18f4620.lppC:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ LIB \\ PIC18-STDLIB-HTC-D32-f32.lpp
aspic18--edf = C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\ en_msgs.txt--cmode = HTC -E1-CC:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\中保18.ini-ver = V1.12 -lserver.lst --opt = -n -18F4620 --comdiv = 127 -no_pa -oserver.obj C:\\用户\\卡米尔\\ AppData的\\本地的\\ Temp \\ S234。
aspic18--edf = C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\ en_msgs.txt--cmode = HTC -E1-CC:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\中保18.ini-ver = V1.12 --opt = -n -18F4620 --comdiv = 127 -no_pa -oc:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ S234。 OBJ C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.as
HLINK--edf = C:\\ Program Files文件(x86)的\\ Microchip的\\ xc8 \\ V1.12 \\ DAT \\ en_msgs.txt-cs -h + server.sym -z -w9 -Q18F4620 -Mserver.map -E1 - 版本= XC8#PRO ## V1.12 -A code = 00H-地址0FFFFh -ACONST = 00H,地址0FFFFh -ASMALLCONST = 01000h-010FFhx240 -AMEDIUMCONST = 01000h-0FFFFh之间-ACOMRAM = 01H-07FH -AABS1 = 00H-0F7Fh -ABIGRAM = 01H-0F7Fh -ARAM = 080H-0FFh的,0100H-01FFhx14,0F00h-0F7Fh -ABANK0 = 080H-0FFh的-ABANK1 = 0100H-01FFh单元-ABANK2 = 0200H-02FFh -ABANK3 = 0300H-03FFh单元-ABANK4 = 0400H-04FFh -ABANK5 = 0500H-05FFh -ABANK6 = 0600h-06FFh -ABANK7 = 0700h-07FFH -ABANK8 = 0800H-08FFh -ABANK9 = 0900H-09FFh -ABANK10 = 0A00h-0AFFh -ABANK11 = 0B00h-0BFFh -ABANK12 = 0C00H-0CFFh -ABANK13 = 0D00H-0DFFH -ABANK14 = 0E00h-0EFFh -ABANK15 = 0F00H-0F7Fh -ASFR = 0F80h-0FFFh过 - preset_vec = 00H,INT code中,int codeLO,通电时,init,end_init -pramtop = 01000h -psmallconst = SMALLCONST -pmediumconst = MEDIUMCONST -pconst =常数-AFARRAM = 00H-00H -ACONFIG = 0300000h-030000Dh -pconfig = CONFIG -AIDLOC = 0200000h-0200007h -pidloc = IDLOC -AEEDATA = 0F00000h-0F003FFh -peeprom_data = EEDATA - prdata = COMRAM,nvrram = COMRError [500]; 0未定义的符号:
_putch(server.obj)_ENC_Init(server.obj)_ENC_WriteRegister(server.obj)_ENC_ReadRegister(server.obj)
AM,nvbit = COMRAM,RBSS = COMRAM,RBIT = COMRAM -pfarbss = FARRAM,fardata = FARRAM -pintsave_regs =两字,bigbss =两字,bigdata =两字-pbss = RAM -pidata = code,irdata = code,ibigdata = code,ifardata = code C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.obj server.obj
德尔l.obj
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ S234。
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.1
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.2
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.3
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.4
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.5
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.as
德尔C:\\用户\\卡米尔\\应用程序数据\\本地的\\ Temp \\ s234.obj
(908)退出状态= 1
在后这里看,并咨询Microchp XC8 <一个href=\"http://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en557668&ei=ioWCUZzoBtHi4AO43IGwCQ&usg=AFQjCNGSAznQjjAh2oATAw9P7iO2y5FYow&sig2=Nb0iZdQQfSZcKWzw3C9pNw\"相对=nofollow>用户手册事实证明,至少有一个问题是,您的来源是缺乏 putch()
功能。许多程序(如的printf()
,例如)在Microchip的图书馆依靠 putch的presence()
为他们的操作功能,而这个功能必须由您提供。而在常规电脑这样的功能,预计将打印字符标准输出
,微控制器缺乏标准输出,因此 putch()
在某种意义上就是靠它来界定你的标准输出是什么。在 putch()
函数应该输出一个字符到一些输出,如LCD,串口,闪烁的LED? (莫尔斯code吧?),或信鸽。从手动,350页:
的
的printf()
函数是一个格式化输出套路,操作上
标准输出。它依赖于putch()
函数来确定目标
的标准输出。在putch()
函数必须写为每个部分
项目,以及code初始化本使用的任何外围设备
常规。一个存根putch
可在的源目录中找到
编译器。
块引用>编写
putch()
功能,即使是什么也不做,将解决_putch
至少有问题正在未定义:看来_putch
(错误的函数的名称)仅仅是AA的名称错位putch()
。I'm trying to compile and link a C program using the XC8 compiler. I changed from the C18 compiler and made some minor compatibility changes to the code. With C18, the code compiled and linked just fine. With XC8, compiling goes fine, but the link step fails with this error:
Error [500] ; 0. undefined symbols: _putch(server.obj) _ENC_Init(server.obj) _ENC_WriteRegister(server.obj) _ENC_ReadRegister(server.obj)
As the compiling succeeds, I guess there are prototypes found, ergo the
.h
files are included okay. I guess the compiler can't find the.c
files.The function
putch
is not called in my own program, but it's called inputchar
and I use that function. The functions starting withENC_
are my own functions.I added two paths to the "Include search path" of the XC8 toolsuite:
C:\Program Files (x86)\Microchip\xc8\v1.12\sources
, where the compiler's.c
files are located, I believeC:\...\lib
, where my own.c
files are located.However, I still get the error.
How can I resolve this problem?
This is the full log:
Advisory[1233] Employing 18F4620 errata work-arounds: Advisory[1234] * Corrupted fast interrupt shadow registers Advisory[1234] * Data in RAM location can be corrupted if async. reset occurs during write Warning [1273] ; . Omniscient Code Generation not available in Free mode cgpic18 "--edf=C:\Program Files (x86)\Microchip\xc8\v1.12\dat\en_msgs.txt" --cmode=htc -Og9s -q -E1 -w9 -PMS0:code:0@CODE=00h-0FFFFh -PMS0:code:0@CONST=00h-0FFFFh -PMS0:code:0@SMALLCONST=01000h-010FFhx240 -PMS0:code:0@MEDIUMCONST=01000h-0FFFFh -PMS1:data:8@COMRAM=01h-07Fh -PMS1:data:0@ABS1=00h-0F7Fh -PMS1:data:0@BIGRAM=01h-0F7Fh -PMS1:data:0@RAM=080h-0FFh,0100h-01FFhx14,0F00h-0F7Fh -PMS1:data:400@BANK0=080h-0FFh -PMS1:data:800@BANK1=0100h-01FFh -PMS1:data:1000@BANK2=0200h-02FFh -PMS1:data:2000@BANK3=0300h-03FFh -PMS1:data:0@BANK4=0400h-04FFh -PMS1:data:0@BANK5=0500h-05FFh -PMS1:data:0@BANK6=0600h-06FFh -PMS1:data:0@BANK7=0700h-07FFh -PMS1:data:0@BANK8=0800h-08FFh -PMS1:data:0@BANK9=0900h-09FFh -PMS1:data:0@BANK10=0A00h-0AFFh -PMS1:data:0@BANK11=0B00h-0BFFh -PMS1:data:0@BANK12=0C00h-0CFFh -PMS1:data:0@BANK13=0D00h-0DFFh -PMS1:data:0@BANK14=0E00h-0EFFh -PMS1:data:0@BANK15=0F00h-0F7Fh -PMS1:data:0@SFR=0F80h-0FFFh -PMS3:config:0@CONFIG=0300000h-030000Dh -PMS2:eedata:0@EEDATA=0F00000h-0F003FFh -PMS4:idloc:0@IDLOC=0200000h-0200007h "--cfgdata=C:\Program Files (x86)\Microchip\xc8\v1.12\dat\cfgdata\18f4620.cfgdata" --cfgprefix=__CFG_ -MLFSROK -MIEEE_DBL -MIEEE_FLT -PPIC18F4620,1,65535,3967,8194,31,1,0,127,0 -fp -AC:\Users\Camil\AppData\Local\Temp\s234. --funcdat=C:\Users\Camil\AppData\Local\Temp\s234.5 --addrqual=ignore --runtime=init --runtime=clear server.p1 "C:\Program Files (x86)\Microchip\xc8\v1.12\lib\pic18-plib-htc-18f4620.lpp" "C:\Program Files (x86)\Microchip\xc8\v1.12\lib\pic18-stdlib-htc-d32-f32.lpp" cgpic18 "--edf=C:\Program Files (x86)\Microchip\xc8\v1.12\dat\en_msgs.txt" --cmode=htc -q -E1 -Dserver.sdb -PMS0:code:0@CODE=00h-0FFFFh -PMS0:code:0@CONST=00h-0FFFFh -PMS0:code:0@SMALLCONST=01000h-010FFhx240 -PMS0:code:0@MEDIUMCONST=01000h-0FFFFh -PMS1:data:8@COMRAM=01h-07Fh -PMS1:data:0@ABS1=00h-0F7Fh -PMS1:data:0@BIGRAM=01h-0F7Fh -PMS1:data:0@RAM=080h-0FFh,0100h-01FFhx14,0F00h-0F7Fh -PMS1:data:400@BANK0=080h-0FFh -PMS1:data:800@BANK1=0100h-01FFh -PMS1:data:1000@BANK2=0200h-02FFh -PMS1:data:2000@BANK3=0300h-03FFh -PMS1:data:0@BANK4=0400h-04FFh -PMS1:data:0@BANK5=0500h-05FFh -PMS1:data:0@BANK6=0600h-06FFh -PMS1:data:0@BANK7=0700h-07FFh -PMS1:data:0@BANK8=0800h-08FFh -PMS1:data:0@BANK9=0900h-09FFh -PMS1:data:0@BANK10=0A00h-0AFFh -PMS1:data:0@BANK11=0B00h-0BFFh -PMS1:data:0@BANK12=0C00h-0CFFh -PMS1:data:0@BANK13=0D00h-0DFFh -PMS1:data:0@BANK14=0E00h-0EFFh -PMS1:data:0@BANK15=0F00h-0F7Fh -PMS1:data:0@SFR=0F80h-0FFFh -PMS3:config:0@CONFIG=0300000h-030000Dh -PMS2:eedata:0@EEDATA=0F00000h-0F003FFh -PMS4:idloc:0@IDLOC=0200000h-0200007h "--cfgdata=C:\Program Files (x86)\Microchip\xc8\v1.12\dat\cfgdata\18f4620.cfgdata" --cfgprefix=__CFG_ -MLFSROK -MIEEE_DBL -MIEEE_FLT -PPIC18F4620,1,65535,3967,8194,31,1,0,127,0 -AC:\Users\Camil\AppData\Local\Temp\s234. --funcdat=C:\Users\Camil\AppData\Local\Temp\s234.5 --addrqual=ignore --runtime=init --runtime=clear server.p1 "C:\Program Files (x86)\Microchip\xc8\v1.12\lib\pic18-plib-htc-18f4620.lpp" "C:\Program Files (x86)\Microchip\xc8\v1.12\lib\pic18-stdlib-htc-d32-f32.lpp" aspic18 "--edf=C:\Program Files (x86)\Microchip\xc8\v1.12\dat\en_msgs.txt" --cmode=htc -E1 "-CC:\Program Files (x86)\Microchip\xc8\v1.12\dat\picc-18.ini" -ver=V1.12 -lserver.lst --opt= -n -18F4620 --comdiv=127 -no_pa -oserver.obj C:\Users\Camil\AppData\Local\Temp\s234. aspic18 "--edf=C:\Program Files (x86)\Microchip\xc8\v1.12\dat\en_msgs.txt" --cmode=htc -E1 "-CC:\Program Files (x86)\Microchip\xc8\v1.12\dat\picc-18.ini" -ver=V1.12 --opt= -n -18F4620 --comdiv=127 -no_pa -oC:\Users\Camil\AppData\Local\Temp\s234.obj C:\Users\Camil\AppData\Local\Temp\s234.as hlink "--edf=C:\Program Files (x86)\Microchip\xc8\v1.12\dat\en_msgs.txt" -cs -h+server.sym -z -w9 -Q18F4620 -Mserver.map -E1 -ver=XC8#PRO##V1.12 -ACODE=00h-0FFFFh -ACONST=00h-0FFFFh -ASMALLCONST=01000h-010FFhx240 -AMEDIUMCONST=01000h-0FFFFh -ACOMRAM=01h-07Fh -AABS1=00h-0F7Fh -ABIGRAM=01h-0F7Fh -ARAM=080h-0FFh,0100h-01FFhx14,0F00h-0F7Fh -ABANK0=080h-0FFh -ABANK1=0100h-01FFh -ABANK2=0200h-02FFh -ABANK3=0300h-03FFh -ABANK4=0400h-04FFh -ABANK5=0500h-05FFh -ABANK6=0600h-06FFh -ABANK7=0700h-07FFh -ABANK8=0800h-08FFh -ABANK9=0900h-09FFh -ABANK10=0A00h-0AFFh -ABANK11=0B00h-0BFFh -ABANK12=0C00h-0CFFh -ABANK13=0D00h-0DFFh -ABANK14=0E00h-0EFFh -ABANK15=0F00h-0F7Fh -ASFR=0F80h-0FFFh -preset_vec=00h,intcode,intcodelo,powerup,init,end_init -pramtop=01000h -psmallconst=SMALLCONST -pmediumconst=MEDIUMCONST -pconst=CONST -AFARRAM=00h-00h -ACONFIG=0300000h-030000Dh -pconfig=CONFIG -AIDLOC=0200000h-0200007h -pidloc=IDLOC -AEEDATA=0F00000h-0F003FFh -peeprom_data=EEDATA -prdata=COMRAM,nvrram=COMRError [500] ; 0. undefined symbols: _putch(server.obj) _ENC_Init(server.obj) _ENC_WriteRegister(server.obj) _ENC_ReadRegister(server.obj) AM,nvbit=COMRAM,rbss=COMRAM,rbit=COMRAM -pfarbss=FARRAM,fardata=FARRAM -pintsave_regs=BIGRAM,bigbss=BIGRAM,bigdata=BIGRAM -pbss=RAM -pidata=CODE,irdata=CODE,ibigdata=CODE,ifardata=CODE C:\Users\Camil\AppData\Local\Temp\s234.obj server.obj del l.obj del C:\Users\Camil\AppData\Local\Temp\s234. del C:\Users\Camil\AppData\Local\Temp\s234.1 del C:\Users\Camil\AppData\Local\Temp\s234.2 del C:\Users\Camil\AppData\Local\Temp\s234.3 del C:\Users\Camil\AppData\Local\Temp\s234.4 del C:\Users\Camil\AppData\Local\Temp\s234.5 del C:\Users\Camil\AppData\Local\Temp\s234.as del C:\Users\Camil\AppData\Local\Temp\s234.obj (908) exit status = 1
解决方案Looking at a post here, and consulting the Microchp XC8 users manual it turns out that at least one problem is that your source is lacking a
putch()
function. Many routines (such asprintf()
, for instance) in the Microchip libraries rely on the presence of theputch()
function for their operation, and this function must be supplied by you. Whereas on "regular" computers such a function would be expected to print a character tostdout
, microcontrollers lack standard output, and therefore theputch()
is relied on to in a sense "define" what your "standard" output is. Theputch()
function is supposed to output a single character to some output such as LCD, serial, blinking LED? (in Morse code perhaps?), or carrier pigeon. From the manual, page 350:The
printf()
function is a formatted output routine, operating on stdout. It relies on theputch()
function to determine the destination of stdout. Theputch()
function must be written as part of each project, as well as code to initialize any peripherals used by this routine. A stub forputch
can be found in the sources directory of the compiler.Writing the
putch()
function, even one that does nothing, will solve at least the issue of_putch
being undefined: it appears that_putch
(the name of the function in the error) is just a a name-mangledputch()
.这篇关于链接步骤无法找到符号(XC8编译)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!