Hallo zusammen, bei dem Versuch usburn unter Mint zu compilieren kommt folgende Fehlermeldung: g++ usburn.c programmer_usb.c database.c hexfile.c calibration.c firmware.c test.c -m32 -I/usr/local/include -L. -lnsl -lm -lc -L/usr/local/lib -lusb -o usburn calibration.c: In function ‘int cal_step3()’: calibration.c:104:63: warning: unknown conversion type character 0xa in format [-Wformat=] fprintf(stdout, "-- ULoad = %f V at PWM: %d % \n", Uhigh, pwm); ^ /usr/bin/ld: cannot find -lusb collect2: error: ld returned 1 exit status make: *** [all] Fehler 1 In der Anleitung steht noch das folgende Biblitheken benoetigt werden: LSB 3.2 (standardmaessig vorhanden) libnsl.so.1 libusb-0.1.so.4 (libusb) diese hab ich dann mit Synaptik noch installiert, sowie alles was ich mit libusb für g++ gefunden hab. Leider bleibt die Fehlermeldung ... Hat jemand noch einen Tipp ? Grüße, Tom
:
Verschoben durch User
> fprintf(stdout, "-- ULoad = %f V at PWM: %d % \n", Uhigh, pwm);
er wird ein Problem mit dem letzten % haben.
teste mal mit:
fprintf(stdout, "-- ULoad = %f V at PWM: %d \% \n", Uhigh, pwm);
Hallo Peter, das scheint nicht das Problem zu sein, die zu compilierende Source stammt nicht von mir: Beitrag "Problem beim compilieren von usburn unter Ubuntu" Die USB Bibliothek scheint zu fehlen: /usr/bin/ld: cannot find -lusb Da find ich "nichts mehr was ich noch installieren könnte" ... Grüße, Tom
Tom A. schrieb: > Die USB Bibliothek scheint zu fehlen: > > /usr/bin/ld: cannot find -lusb wobei das schon komisch aussieht, er müsste schreiben das er libusb.a nicht findet. Er versteht scheinbar den Parameter gar nicht richtig.
Tom A. schrieb: > fprintf(stdout, "-- ULoad = %f V at PWM: %d % \n", Uhigh, pwm); Um mit *printf ein Prozentzeichen zu bekommen, muss %% in das Format. Aber das ist eh' nur eine Warnung. > /usr/bin/ld: cannot find -lusb Du brauchst libusb-1.*-dev: http://community.linuxmint.com/software/view/libusb-1.0-0-dev
:
Bearbeitet durch User
Vielen Dank euch schonmal für die prompte Hife ! Also das %% hab ich eingefügt und die libusb-1. nochmals installiert, war schon vorhanden, aber hätte ja sein können. das Ergebnis is im Anhang. Leider blieb die Fehlermeldung wegen der Bibliothek gleich ... Kann ich irgendwo sehen welche lib Datei wo sein muß ? Grüße, Tom
Ändere mal die Reihenfolge der Argumente des Linkers. Du gibst hier diverse Libraries an und setzt dann den Library-Suchpfad, und danach kommt erst das -lusb.
1 | g++ usburn.c programmer_usb.c database.c hexfile.c calibration.c firmware.c test.c -m32 -I/usr/local/include -L. -lnsl -lm -lc -L/usr/local/lib -lusb -o usburn |
Ändere das mal zu
1 | g++ usburn.c programmer_usb.c database.c hexfile.c calibration.c firmware.c test.c -m32 -I/usr/local/include -L. -lnsl -lm -lc -lusb -L/usr/local/lib -o usburn |
Die Reihenfolge war's nicht. Was ich jetzt weggelassen habe ist das "-m32". Dann hat sich das fehlerfrei compilieren lassen. Viiiiielen Dank an euch, jetzt "brennt es" unter Linux :D Grüße, Tom
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.