RT-Thread(RTT)中调用数学库函数出现undefined reference to `asin‘问题解决

发布时间:2024年01月19日

问题描述:

一、编译出现如下报错,对asin未定义声明引用

在这里插入图片描述

二、在陀螺仪姿态解算这里用到了数学库中的函数,并且对math.h数学库也进行了包含,但依然报错。

在这里插入图片描述
在这里插入图片描述

问题解决:

一、出现这种问题的原因是没有对math.h数学库进行链接

二、点击打开构建配置

在这里插入图片描述

三、添加链接数学库m,应用并关闭,

Libraries 是指链接器需要使用的外部库的设置。链接器在构建可执行文件时需要引用这些库,以便在运行时能够调用这些库中定义的函数和变量。

通常,这些外部库包括了标准的 C 库(如 libc)、数学库(如 libm)、线程库、设备驱动库等。

在 RT-Thread 中,根据项目需要选择所需的库,以便在链接时正确引用这些库中的函数和变量。当在代码中使用了库中定义的函数或变量时,链接器会在链接时检查并将这些函数和变量的地址引用到可执行文件中。

通过设置 Cross ARM C Linker 下的 Libraries,可以指定链接器在构建可执行文件时应该链接的外部库。这样就能确保程序能够正确地调用这些库中定义的函数和变量。

在 C/C++ 语言中,通常的数学函数库(比如数学计算相关的函数)会被命名为 "m"。

在这里插入图片描述

四、此时再编译,成功通过

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_52251819/article/details/135690891
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。