2016-07-11 15 views
3

Ich habe ein einfaches Projekt in Vivado SDK geschrieben, um meine in Vivado entwickelte HW-Plattform zu testen. Mein Problem ist, dass das SDK die sin() -Funktion nicht erkennt. Ich habe die "math.h" Bibliothek ohne Fehler enthalten, erkennt das Programm die Bibliothek, wo die sin() -Funktion enthalten ist (ich überprüfte es durch meine eigenen).Vivado SDK erkennt die Funktionen innerhalb von #include nicht "math.h"

ich erhalte diese Fehlermeldung:

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

Ich habe die Antwort in here lesen, und es ist zu allgemein gehalten, so dass es nutzlos war mein Problem zu lösen. Es ist klar, dass es ein Problem mit der Bibliothek gibt, aber es ist nicht klar, wie man es speziell im Vivado SDK löst.

Ich arbeite mit: OS: Windows 7

Vivado: 2016,1

Vivado SDK: 2016,1

Jede Lösung ???

+3

Link mit 'libm'. –

+1

C oder C++? Wähle eins. –

+0

Mögliches Duplikat von [Was ist eine nicht definierte Referenz/ein nicht aufgelöster externer Symbolfehler und wie behebe ich sie?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-) symbol-error-and-how-do-i-fix) – Olaf

Antwort

5

Wie es im Xilinx Forum here erklären konnte, können Sie in den Arm v7 gcc liker den "m" Wert hinzufügen.

Um korrekt dieser Wert aus der Toolbox in Projekt navigieren zu setzen -> Eigenschaften -> C/C++ Erstellen -> Einstellungen -> Arm v7 gcc Linker -> Bibliotheken -> Bibliotheken (-l) -> Add ... und hier können Sie den Wert "m" hinzufügen. Dies gilt für alle mathematischen Funktionen, die Sie in Ihrem Projekt verwenden möchten.

enter image description here

Sie sollten am Ende so etwas wie dies sehen.

+1

Es sollte auch für einige frühere Versionen funktionieren. Und für Vivado 2016.2 – Leos313

+1

Vielen Dank. Genau das habe ich gesucht. – Arturete

+0

Ich fühle mich wie ich etwas vermisse. Mein Projekt enthält nicht die Einstellungen von "arm v7 gcc linker", sondern nur den Compiler: [Screenshot] (https://i.stack.imgur.com/XCKWQ.png). Liegt das möglicherweise daran, dass ich die WebPACK-Lizenz verwende oder muss ich etwas anderes hinzufügen? –