Forum: Compiler & IDEs [ARM] libjpeg lässt sich nicht linken


von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hi,

ich hab mir mit OpenEmbedded einen CrossCompiler für einen ARM (Davinci 
DM6446 ARM9 CPU) machen lassen. Generell funktioniert der Compiler auch, 
aber wenn ich jetzt versuche zu einem Programm die libjpeg zu linken 
sagt er mir immer das:
1
undefined reference to `jpeg_std_error(jpeg_error_mgr*)'

Er findet also komischerweise das Symbol nicht, obwohl die libjpeg im 
Suchpfad des Compilers liegt. Das Symbol "jpeg_std_error" ist auch in 
der Library enthalten, wenn ich mir mit "nm" die Symbole anzeigen lasse. 
Hab auch schon mit -L nochmal den Pfad zur Lib angegeben. Hilft aber 
irgendwie nicht.

Vielleicht hatte jemand schon ein derartiges Problem und weiß Rat. Bin 
um jede Hilfe dankbar.

mfg
Andreas

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Andreas Auer schrieb:
> Das Symbol "jpeg_std_error" ist auch in
> der Library enthalten, wenn ich mir mit "nm" die Symbole anzeigen lasse.

Mit einem "T" dahinter oder mit einem "U"?

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Mit einem T. Sollte also in der Lib drinnen sein... hab jetzt gerade 
herausgefunden, dass es mit dem gcc cross compiler funktioniert mit dem 
g++ nicht. Kann das dann am g++ liegen??
1
0001adf4 T jpeg_std_error

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Kann das dann am g++ liegen?

Ja.  Du hast ein »extern "C"« vor der Deklaration von jpeg_std_error()
vergessen, nun versucht er, den Namen als C++-Namen mit Typbindung
zu finden...

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Danke, das wars.

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.