unresolved external 问题及解决记录

文章讲述了在使用InfineonTricoreTC387的Tasking编译工具时遇到的链接错误,问题源于一个函数名称的大小写错误。开发者发现虽然文件存在且头文件已包含,但由于函数名的一个字母大小写不匹配,导致编译器无法找到对应的外部函数,从而产生错误。作者建议对函数名称的大小写敏感性保持警惕,并推荐使用复制粘贴来避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

Infineon Tricore TC387
编译工具:Tasking

编译出错:

ltc E106: unresolved external: Fls_17_Dmu_Mainfunction - (Rte_Application_Core0_QM.o)
ltc F019: unrecoverable error: fatal link error
amk E452: ["makefile" 48/0] target 'TC38X_Demo.elf' returned exit code 1
amk E451: make stopped

原因分析

翻译过来是:未解决的外部引用。也就是意味着需要外部函数,但明显,编译器未找到。
核实了一下外部引用的文件。文件是存在的。但为什么外部文件在,也引用了。该包含的头文件也包含了,还会显示没有这个外部引用呢?

这就是血泪教训了友友们。赶紧查一查,这个你手写的函数,是不是某个字母的大小写,没写对!!!

破案

本案例中最终的原因,就是因为一个字母引发的血案。
报错的位置,报告的是
Fls_17_Dmu_Mainfunction未找到。实际上外部文件定义的函数接口是:
Fls_17_Dmu_MainFunction.
差到哪里了。就查到字母 f 是大写的,本人手动写成小写了。呜呜呜~
给大家提供个错误案例,以后能cv操作,就别手写了吧

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值