【已解决】链接libtuyaos.a后库函数未定义

Lte-Cat.1/Cat.4/Cat.M设备,NB-IoT设备等
mlinkTech
Posts: 18

如下图,MK8010C平台上,我成功链接了libtuyaos.a,头文件路径也添加ok ,但是提示函数未定义,我对比其他平台的libtuyaos.a,发现这个libtuyaos.a大小不一致。
请问是否libtuyaos.a不是用对应的交叉工具链生成的?
明明链接了,却提示函数未定义。请问遇到这种类似问题吗

mlinkTech
Posts: 18

Re: 链接libtuyaos.a后库函数未定义

截图如附件

mlinkTech
Posts: 18

Re: 链接libtuyaos.a后库函数未定义

截图附件好像传不上去,我压缩一下

Attachments
3.rar
(238.81 KiB) Downloaded 68 times
liujt@tuya.com
Posts: 34

Re: 链接libtuyaos.a后库函数未定义

你好,麻烦检查一下有没有把sdk相关的头文件目录引用到编译环境,如附件图中:

微信图片_20230913200400.png
liujt@tuya.com
Posts: 34

Re: 链接libtuyaos.a后库函数未定义

另外,再确认下tuya_device.c中有没有引用#include "tal_queue.h"。

愚者千虑必有一得
Posts: 422

Re: 链接libtuyaos.a后库函数未定义

除了这个符号,还有其他的么?和链接顺序有没有关系?

工具链:

企业微信截图_16946103781072.png

符号所在.o文件:

企业微信截图_16946106287876.png
mlinkTech
Posts: 18

Re: 链接libtuyaos.a后库函数未定义

liujt@tuya.com 2023年 Sep 13日 20:27

另外,再确认下tuya_device.c中有没有引用#include "tal_queue.h"。

有的,连接库的路径也是对的,具体打印和库的链接顺序见附件截图,麻烦帮忙看看有啥问题

Attachments
打印信息.zip
(570.65 KiB) Downloaded 65 times
愚者千虑必有一得
Posts: 422

Re: 链接libtuyaos.a后库函数未定义

tal_system不需要额外加,他在tuyaos.a里已经包含了。需要看你下你链接可执行程序的时候,你编译出来的.o和这个tuyaos.a的顺序。

liujt@tuya.com
Posts: 34

Re: 链接libtuyaos.a后库函数未定义

mlinkTech 2023年 Sep 14日 10:17
liujt@tuya.com 2023年 Sep 13日 20:27

另外,再确认下tuya_device.c中有没有引用#include "tal_queue.h"。

有的,连接库的路径也是对的,具体打印和库的链接顺序见附件截图,麻烦帮忙看看有啥问题

你好,麻烦再提供一下整个编译过程的所有信息

mlinkTech
Posts: 18

Re: 链接libtuyaos.a后库函数未定义

愚者千虑必有一得 2023年 Sep 14日 11:12

tal_system不需要额外加,他在tuyaos.a里已经包含了。需要看你下你链接可执行程序的时候,你编译出来的.o和这个tuyaos.a的顺序。

您好,附件使我们的编译log,能帮忙看看是否有问题吗?我们现在是通过涂鸦os的编译环境,能编译生成我们的程序bin,然后我们将在我们原厂入口函数中执行tuya_app_main函数。为了能tuya_app_main执行成功,我们去链接libtuyaos.a。另外适配层tuyaos_adapter的c文件也放在我们自己的工程里参加编译。后续就报了libtuyaos.a里的函数未定义问题。

Attachments
BULID LOG.txt
(78.19 KiB) Downloaded 68 times
Post Reply