premetto che ho dovuto cambiare alcuni include perchè altrimenti
nontrovava il file ad esempio ho dovuto cambiare:
#include </usr/local/include/PCSC/pcsclite.h> nel file winscard.h
perchè lui puntava a PCSC/pcsclite.h ed
#include </usr/local/include/PCSC/wintypes.h> nel file pcsclite.h
perchè lui puntava a /PCSC/wintypes.h.
Se faccio rv = SCardEstablishContext(); Mi dice che non ho tutti gli
argomenti come giusto che sia.
ma se faccio rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL,NULL,
&hContext);
mi becco undefined reference to `SCardEstablishContext'
Avete qualche dritta
Saluti
Luca
Questo errore mi sembra un errore di link piuttosto che di
compilazione. Manca la libreria.
Tanti auguri di Buon Natale.
Ciao
Giovanni
--
A computer is like an air conditioner,
it stops working when you open Windows.
< http://giovanni.homelinux.net/ >
Non so se e' una buona idea... potresti avere il complatore
configurato male, sembrano essere path di sistema in
cui il tuo compilatore dovrebbe gia' andare a cercare i .h
Invece di specificare il path completo sarebbe meglio
cercare e sistemare il problema nella configurazione dell'ambiente.
> Se faccio rv = SCardEstablishContext(); Mi dice che non ho tutti gli
> argomenti come giusto che sia.
> ma se faccio rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL,NULL,
> &hContext);
> mi becco undefined reference to `SCardEstablishContext'
Potrebbe essere un errore del linker: devi aggiungere il riferimento
alla libreria
in cui si trova questa funzione.
Quando chiedi aiuto su un NG ricordati di indicare sempre che
compilatore usi
e soprattutto il testo esatto dell'errore.
ciao
Giacomo
scherzi a parte che opzioni passi al compilatore?
devi usare:
* I (i maiuscolo) per specificare il percorso degli include
* L (l maiuscolo) per specificare il percorso delle librerie
* l (l minuscolo per specificare il nome della/a libreria
ex:
-I/usr/include/MIA_LIBRERIA
-L/usr/lib -lMIA_LIBRERIA1 -lMIA_LIBRERIA2
dove MIA_LIBRERIA* sul file sistem sar� qualcosa del tipo:
/user/lib/libMIA_LIBRERIA*.so
spero tu riesca a risolvere...
non � che il compilatore e il linker magicamente possono sapere dove
stanno i tuoi include e librerie eh...
Non conosco questa libreria in particolare ma su linux spesso librerie
pi� complesse hanno una utiliti a riga di comando per recuperare i flags
da passare al gcc
ad esempio per l'SDL:
sdl-config --cflags (per compilatore)
sdl-config --libs (per linker)
Auguri a tutti
Luca
>
> dove MIA_LIBRERIA* sul file sistem sarà qualcosa del tipo:
> /user/lib/libMIA_LIBRERIA*.so
>
> spero tu riesca a risolvere...
> non è che il compilatore e il linker magicamente possono sapere dove
> stanno i tuoi include e librerie eh...
>
> Non conosco questa libreria in particolare ma su linux spesso librerie
> più complesse hanno una utiliti a riga di comando per recuperare i flags