Xilinx SDK 编译包含有sin, cos, or tan 等数学函数时如何成功编译
2017-02-05 19:01
501 查看
http://www.360doc.com/content/16/0406/19/18252487_548394259.shtml
Xilinx SDK 编译包含有sin, cos, or tan 等数学函...
2016-04-06 mzsm 文章来源 阅 161 转 1转藏到我的图书馆
微信分享:
问题描述: 在Vivado SDK中,使用了math函数库中的三角函数,如下所示。虽然在头部包含了“math.h”头文件,编译时SDK工具仍然提示找不到sin函数。 Note:其实不管是Vivado还是ISE,哪个版本的SDK使用者都可能会碰到类似的问题,有兴趣的读者可以亲自试验下。 那么这到底是什么问题呢? 其实是GCC工具链的库函数默认路径的问题。从网上搜了下,gcc的sin函数是定义在libm.so里面了。用-l选项定义指定的路径。不填写的话默认是/lib和/usr/lib内。因为linux下所有的函数库都是以lib开头的。所以除去头和尾,那么m就是代表libm.so(m是库名,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 |
相关文章推荐
- SDK编译数学函数出错:"undefined reference to 'cos/sin'
- 常用数学函数篇abs acos asin atan ceil cos exp frexp ldexp log pow sin sinh sqrt tan tanh
- Ubuntu下使用make编译c文件,不能调用sin cos 等函数问题的解决
- 常用数学函数篇abs acos asin atan ceil cos exp frexp ldexp log pow sin sinh sqrt tan tanh
- LINUX2.6内核下交叉编译成功的sin(x)测试函数
- 如何在cpp文件中调用gcc编译的.o文件的函数
- 在命令行提示符下如何成功运行含有包命令的Java程序
- 在gcc中使用sin等数学函数
- U-BOOT中如何把新建文件中的函数编译进去
- 使用 System.Sin、System.Cos 函数画圆 - 绘制五环图标
- 如何实现虚函数的规则(VC中 C++ virtual 编译规则)
- sqrt sin cos exp 函数泰勒公式和迈克劳林实现
- 命令行如何编译单独的java文件--javac’is not recognized as an internal or external command
- 如何确定Android中刚修改后的c/c++是否编译成功
- 如何检测SDK的编译版本号
- 第13周报告2:定义自定义函数,计算sin和cos的近似值
- sin cos tan cot公式
- 如何用Motorola J2 SDK 1来编译Java程序
- C++ 发声函数如何成功使用
- python嵌入C++------ boost.python如何在C++中调用含有不定长参数tuple变量和关键字参数dict变量的函数