• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Bibliothek lässt sich nicht einbinden

lnxdude23

Newbie
Hallo,

ich versuche ein C++-Programm zu kompilieren mit
Code:
g++ -o test  readOutMcard.cpp -L/usr/lib -lpcsclite -lmcscm
Allerdings erhalte ich den Fehler: undefined reference. Die Sourcen aus der lib lassen sich nicht einbinden.
Die Lib ist in "/usr/lib", aber nicht in ldconfig -p aufgeführt. Liegt hier der Fehler?
ldconfig habe ich schon als root ausgeführt sowie ldconfig -n /usr/lib

Fehler-Msg bei mir:
Code:
readOutMcard.cpp:(.text+0xef): undefined reference to `MCardInitialize(long, char*, long*, unsigned long*)'
readOutMcard.cpp:(.text+0x148): undefined reference to `MCardConnect(long, unsigned long, unsigned char, long*)'
readOutMcard.cpp:(.text+0x1b0): undefined reference to `MCardReadMemory(long, unsigned char, unsigned long, unsigned char*, unsigned long*)'
collect2: ld gab 1 als Ende-Status zurück
Laut ReadMe des Hersteller habe ich alle benötigten Bibliotheken gelinkt
"Make sure that the application includes the MCardAPI.h with it. and includes the mcscm and pcsclite with it"

Code:
nm libmcscm.so.3.06
sagt dass die Methoden in der lib sind.

Wer es selbst ausprobieren möchte:
http://rs656.rapidshare.com/files/268738011/mcard.zip


Über Hilfe würde ich mich sehr freuen, bin hier am Verzweifeln :(
 

spoensche

Moderator
Teammitglied
Du hast die Variable an die MCardInitialize Methode mit einem & davor übergeben oder? Laut der Fehlermeldung ist das nämlich nicht so.
 
Oben