Vivado SDK 无法识别#include 中的函数 "math.h"

Vivado SDK doesn't recognize the functions inside #include "math.h"

我在 Vivado SDK 中编写了一个简单的项目,以测试我在 Vivado 中开发的硬件平台。 我的问题是 SDK 无法识别 sin() 函数。我包含了 "math.h" 库,没有任何错误,程序识别包含 sin() 函数的库(我自己检查过)。

我得到这个错误:

C:\PATH...\Debug/../src/helloworld.c: undefined reference to `sin' collect2.exe: error: ld returned 1 exit status

我看了here的答案,太笼统了,没法解决我的问题。很明显是library的问题,但是不清楚具体在Vivado SDK中如何解决。

我正在与: OS: Windows 7

维瓦多:2016.1

Vivado SDK:2016.1

有解决办法吗???

正如在 Xilinx 论坛中解释的那样 here,您可以在 Arm v7 gcc liker 中添加“m”值。

为了正确设置此值,请从工具箱中导航 项目 -> 属性 -> C/C++ 构建 -> 设置 -> Arm v7 gcc 链接器 -> 库 -> 库(-l) -> 添加… 在这里你可以添加值“m”。这对您要在项目中使用的所有数学函数都有效。

你最后应该会看到这样的东西。