Vivado SDK не распознает функции внутри #include math.h

Я написал простой проект в Vivado SDK, чтобы протестировать свою HW-платформу, разработанную в Vivado. Моя проблема в том, что 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.

Я работаю с: ОС: Windows 7

Вивадо: 2016.1

Вивадо SDK: 2016.1

Любое решение???


person Arturete    schedule 11.07.2016    source источник
comment
С или С++? Выбери один.   -  person Lightness Races in Orbit    schedule 11.07.2016
comment


Ответы (1)


Как было объяснено здесь на форуме Xilinx, вы можете добавить в < strong>Arm v7 gcc нравится значение «m».

Чтобы правильно установить это значение, перейдите из панели инструментов в Проект -> Свойства -> Сборка C/C++ -> Настройки -> компоновщик Arm v7 gcc -> Библиотеки -> Библиотеки (-l) -> Добавить… и здесь можно добавить значение «m». Это справедливо для всех математических функций, которые вы хотите использовать в своем проекте.

введите здесь описание изображения

Вы должны увидеть что-то вроде этого в конце.

person Leos313    schedule 11.07.2016
comment
Это должно работать и для некоторых более ранних версий. А для Вивадо 2016.2 - person Leos313; 11.07.2016
comment
Большое спасибо. Это было именно то, что я искал. - person Arturete; 11.07.2016
comment
Я чувствую, что что-то упускаю. Мой проект не включает настройки компоновщика gcc для arm v7, только компилятор: Снимок экрана . Возможно, это связано с тем, что я использую лицензию WebPACK или мне нужно добавить что-то еще? - person Charles Clayton; 18.02.2017
comment
Кажется, вы находитесь не в том же окне. - person Leos313; 18.02.2017
comment
Я получаю сообщение об ошибке: математическая функция pow не поддерживается для синтеза при использовании функции pow в моем коде C в HLS 2015.2. Может ли кто-нибудь помочь мне решить ошибку? Я попробовал тот же трюк, но он не работает. Спасибо. - person Deepak Ingole; 06.04.2017