WiringPI in C++

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Beitrag von ThrobbingSnow39560 (24. Mai 2016 um 20:38)

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Hallo Colum31


    [...]Ich habe den Befehl "pinMode (17, OUTPUT) " ausgeführt[...]


    Hast du nicht ;)der du hast die Fehlermeldung falsch übertragen, pinMode und pinmode sind auf jeden Fall nicht das gleiche.

    Ansonsten, wie hast du denn versucht zu kompilieren? Hast du die Bibliothek auch dem Linker mitgeteilt?

    Gruß Chris

    Einmal editiert, zuletzt von ChrisvA (24. Mai 2016 um 21:18)

  • Beitrag von ThrobbingSnow39560 (24. Mai 2016 um 21:59)

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Puh, da ist so manches fragwuerdig. ZB die Prototypendeklaration von wiringPySetupPhys hat da nichts verloren. Den Mode des PINs erst in der If-Abfrage zu setzen ist auch eher ungewoehnlich - das macht man un-bedingt am Anfang, setzt den Standardwert, und setzt diesen dann um.

    Meine Vermutung waere, dass du C++ mit C mischst, und C++ ist typstrenger. Da fehlen wahrscheinlich casts. *Kann* aber auch ein Linking-Fehler sein, deine IDE scheint da dazwischen zu fummeln.

    Fuer eine wirkliche Behebung des Fehlers ist der Scrennshot nicht ausreichend - bitte poste mal die komplette Compilerausgabe. Keine Ahnung wo die bei Codeblocks steht, aber das build-log-tab sieht gut aus. Und bitten *NICHT* als Screenshot - so etwas hilft nicht fuer laengere Texte.

  • Beitrag von ThrobbingSnow39560 (24. Mai 2016 um 23:36)

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Das ist dann ein Linker-Fehler. Dir fehlt das linken mit wiringPi. Keine Ahnung wie man das mit deiner fabuloesen IDE macht. In einem Makefile wuerde man das mit "-lwiringPi" fuer den Linkschritt erledigen. Die Schreibweise ist wichtig: -l<name> bedeutet das im Filesystem /ein/pfad/im/linker-such-pfad/lib<name>.so zu finden ist.

    Du musst also schauen, ob wiringPi libwiringPi.so, libWiringPi.so, libWIRINGPI.so oder was auch immer genau heisst, und dann nur den Namen angeben. So zumindest will der Compiler was. Kann sein, dass deine IDE da ein komfortables Ding drumrumbaut.

  • Beitrag von ThrobbingSnow39560 (25. Mai 2016 um 11:17)

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Den Namen der Bibliothek. Wie das in deiner IDE geht weiss ich nicht, kann man aber googeln. Versuch macht kluch. Das Thema heisst "linker settings", und da wirst du mit rumspielen muessen.

  • Hi [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Colum31,[/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]ich bin nich son Experte, was das Programmieren anbetrifft, aber kann es sein, dass du den Aufruf [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]

    Code
    wiringPiSetupPhys();

    [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]in deiner int main() ausführen musst, um die wiringPi API zu initialisieren?[/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Gruß Jimmy[/font]

    Einmal editiert, zuletzt von Jimcules (26. Mai 2016 um 11:12)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!