打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Case分享–Xilinx SDK 编译包含有sin, cos, or tan 等数学函...
userphoto

2016.04.06

关注


问题描述:

Vivado SDK中,使用了math函数库中的三角函数,如下所示。虽然在头部包含了“math.h”头文件,编译时SDK工具仍然提示找不到sin函数。


                            

 

Note:其实不管是Vivado还是ISE,哪个版本的SDK使用者都可能会碰到类似的问题,有兴趣的读者可以亲自试验下。

 

那么这到底是什么问题呢?

其实是GCC工具链的库函数默认路径的问题。从网上搜了下,gccsin函数是定义在libm.so里面了。用-l选项定义指定的路径。不填写的话默认是/lib/usr/lib内。因为linux下所有的函数库都是以lib开头的。所以除去头和尾,那么m就是代表libm.som是库名,libm.so是库文件名)在使用“-l”参数时,通常的习惯是除去“lib”函数库头和后面的版本号,使用库名和参数“-l”连接,形成“-lm”。于是,我们需要在gcc找不到库时,可是使用“-l”直接给定库名。

虽然我们可能是裸跑的程序,但也是适用上述解释的。

 

解决办法:

需要在C/C++Build Settings中加上'm'选项:


 

参考:AR#52971  14.4 - SDK - ARM Compiler isfailing with applications containing sin, cos, tan functions in SDK


 


注:版权归“FPGA那点事儿”运营团队,转载请注明出处。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
答案3
高中数学必修4三角函数公式大全
分章同步练习08--三角比
三角函数中几种常见计算题
sin cos tan度数公式
1991高考数学选择题专项训练(九)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服