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

Vivado: 2016.1

Vivado SDK: 2016.1

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

1 ответ

Решение

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

Чтобы правильно установить это значение, перейдите из панели инструментов в Project -> Properties -> C/C++ Build -> Settings -> Arm v7 gcc linker -> Libraries -> Libraries(-l) -> Add… и сюда вы можете добавить значение "м". Это действительно для всех математических функций, которые вы хотите использовать в своем проекте.

Вы должны увидеть что-то подобное в конце.

Другие вопросы по тегам