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”。这对您要在项目中使用的所有数学函数都有效。
你最后应该会看到这样的东西。
我在 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”。这对您要在项目中使用的所有数学函数都有效。
你最后应该会看到这样的东西。