C++ Vivado SDK不';t识别“include”中的功能;数学.h“;

C++ Vivado SDK不';t识别“include”中的功能;数学.h“;,c++,math.h,vivado,vivado-hls,C++,Math.h,Vivado,Vivado Hls,为了测试在Vivado中开发的硬件平台,我在Vivado SDK中编写了一个简单的项目。 我的问题是,SDK无法识别sin()函数。我包含了“math.h”库,没有任何错误,程序可以识别包含sin()函数的库(我自己检查了它) 我得到这个错误: C:\PATH...\Debug/../src/helloworld.c: undefined reference to `sin' collect2.exe: error: ld returned 1 exit status 我已经在中阅读了答案,它

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

我得到这个错误:

C:\PATH...\Debug/../src/helloworld.c: undefined reference to `sin' collect2.exe: error: ld returned 1 exit status
我已经在中阅读了答案,它太笼统了,所以解决我的问题没有用。很明显,这个库存在一个问题,但不清楚如何在Vivado SDK中专门解决这个问题

我的工作对象是: 操作系统:Windows7

Vivado:2016.1

Vivado SDK:2016.1

任何解决方案???

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

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


最后您应该会看到类似的内容。

它也适用于一些早期版本。对于Vivado 2016.2,非常感谢。这正是我想要的。我觉得我错过了什么。我的项目不包括“ARMV7 gcc链接器”设置,只包括编译器:。这可能是因为我正在使用WebPACK许可证,还是我需要添加其他内容?您似乎不在同一窗口中。在HLS 2015.2的C代码中使用pow函数时,我收到错误“合成不支持数学函数'pow'。有人能帮我解决这个错误吗?我也试过了,但不起作用。谢谢,C还是C++?选择一个。可能是重复的