Forum: Mikrocontroller und Digitale Elektronik I2C libmraa und Intel Edison


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe ein ähnliches Problem wie bereits schon 
Beitrag "Intel Edison Breakout Board mraa-Bibliothek" behandelt hat.

Auf meinem Intel Edison möchte ich gerne die MRAA Bibliothek nutzen. 
Weil das Projekt etwas umfangreicher ist, nutze ich einen Win7 Rechner 
mit VisualStudio und VisualGDB als Hostsystem und debugge somit den 
Intel Edison.

Wenn ich wie im obigen Topic beschrieben mit vi auf dem Edison selbst 
das Programm schreibe und kompiliere (inkl. des lmraa Flags) kann ich 
die Bibliothek wunderbar nutzen. Jetzt möchte ich diesen Schritt 
allerdings auslassen und die Bibliothek direkt auf meinem Build-System 
mit einbinden.

Ich möchte dazu folgenden Code erfolgreich kompilieren
1
#include "mraa.h"
2
int
3
main(int argc, char** argv)
4
{
5
    const char* board_name = mraa_get_platform_name();
6
    fprintf(stdout, "hello mraa\n Version: %s\n Running on %s\n", mraa_get_version(), board_name);
7
    mraa_deinit();
8
    return MRAA_SUCCESS;
9
}

Leider bekomme ich keinen Buildprozess hin
1
1>D:/Toolchain/i686-pokysdk-mingw32/usr/bin/i586-poky-linux/i586-poky-linux-g++.exe -o Debug/HelloWorld -Wl,-gc-sections --sysroot=D:\Toolchain\core2-32-poky-linux  -L../../../Bibliotheken/MRAA/include -Wl,--start-group Debug/DateTime.o Debug/Edison.o Debug/GPIO_extender.o Debug/HelloWorld.o Debug/Helpers.o Debug/I2CDevice.o Debug/SerialNumber.o   -Wl,--rpath='$ORIGIN'   -Wl,--end-group
2
1>Debug/HelloWorld.o: In function `main':
3
1>D:\HelloWorld\HelloWorld\HelloWorld\HelloWorld.cpp(12): error : undefined reference to `mraa_get_platform_name'
4
1>D:\HelloWorld\HelloWorld\HelloWorld\HelloWorld.cpp(13): error : undefined reference to `mraa_get_version'
5
1>collect2.exe : error : ld returned 1 exit status
Er findet also anscheinend die von der Bibliothek zur Verfügung 
gestellten Funktionen nicht (oder auch die Bibliothek selbst). Das 
Verzeichnis ../../Bibliotheken/MRAA/ ist identisch zum Git-Verzeichnis 
aus https://github.com/intel-iot-devkit/mraa

In den angehängten Screenshots vom VisualGDB habe ich meine aktuellen 
Einstellungen direkt mit drangehängt.

Wenn ich bei den Common-Flags das -lmraa hinten dran hänge, dann schlägt 
bereits der Kompile des Testprogramms fehl und ich habe leider nichts 
gewonnen.

Hat hier jemand einen Lösungsvorschlag? Auch über Hinweise würde ich 
mich natürlich sehr freuen!

Beste Grüße,
Thomas

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas schrieb:
> Wenn ich bei den Common-Flags das -lmraa hinten dran hänge

... wird eine Datei namens libmraa.a erwartet. Gibts die?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.