主题中讨论的其他器件:TM4C123GH6PM、 TM4C123
工具/软件:Code Composer Studio
我编写了一个程序、该程序使用"stdlib.h"中的系统调用、我收到一条链接器错误消息、说它找不到符号"system"。 我查看了"software-dl.ti.com/.../sdto_cgt_tips_for_using_printf.html" 并相应地增加了堆大小、但这不起作用。 我还尝试寻找"stdlib.lib"、它可能是"stdlib.h"的静态链接库、但在我的文件系统上找不到任何库。 到目前为止、我已经包含和链接的所有库都包含在下面的编译调试输出中、以及我使用的最大堆和堆栈大小。 我不确定我在这里缺少什么-我认为我需要链接一个文件、但我不知道哪个文件。 我认为"stdlib.h"是一个相当标准的库、因此 CCS 可能已经完成了链接本身、或者链接过程将是显而易见且容易的、但到目前为止我已经被证明是错误的。 如何定义符号"系统"?
相关代码:
#include
系统("...)
编译配置工程调试
"C:\\ti\\ccs1010\\ccs\\utils\\bin\\gmake"-k -j 4 all -O
构建目标:"interrupt.out"
调用:ARM 链接器
"c:/ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/bin/armcl /ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/lib /ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/include /ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/include /ti/TivaWare_C_Series-2.2.0.295/driverlib/ccs/Debug/driverlib.lib -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --preinclude="C:/ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/include/stdlib.h /ti/TivaWare_C_Series-2.2.0.295 --define=CCS"--define=TM4C123GH6PM --g --gcc --diag_warning=225 ---cmp_ip_intrack-"--ategat_ines="-link_intrack_ines="-link_inat_ines="-ature-ines="-ategot_ina.htm"--aturb.htm"-link_inat_inaturb.htm"---link_intrack_ines="-at_at_at_ine-link_ategot_ature-ines="-at_ategot_aturb.htm"-at_at_ine-link_ine-link_ategot.htm#-aturb.htm#-at_at_at_ine-link_ines="-ate-link_ine-time-ine-link_ategot.htm#-aturb.htm /ti/TivaWare_C_Series-2.2.0.295/driverlib/rvmdk/driverlib.lib
未定义 的首次引用
符号 文件中
------ --------
系统 /main.obj
错误#10234-D:未解析的符号仍然存在
错误#10010:链接期间遇到错误;未构建"Interrupt.out"
>>编译失败
Makefile:144:目标'Interrupt.out'的配方失败
Makefile:140:目标'all'的配方失败
gmake.1]:*[Interrupt.out]错误1
Gmake:*[All]错误2.