Ho una libreria condivisa (* .so) creata utilizzando Real View Compiler Tools (RVCT 3.2) su Windows Target. Quindi provo a collegare questo file * .so con la mia applicazione usando gcc sul sistema linux.Collegamento di una libreria condivisa utilizzando gcc
Qual è l'opzione gcc per collegare questa libreria condivisa alla mia applicazione linux?
La mia domanda è, è l'opzione -shared
, che viene utilizzato come
gcc -shared myfile.so
..., usato per creare il SO file o per collegare il file SO? Credo che crei qualcosa del tipo:
gcc -lmyfile.so
È sufficiente? O c'è qualche altro interruttore per dire al linker che si tratta di una libreria dinamica (oggetto condiviso)?
Ho una domanda relativa: Nel caso in cui la mia libreria libmyfile.so è un link simbolico a libyourfile.so, si collega il mio programma utilizzando -lmyfile gcc ancora lavorare? (Devo mantenere la retrocompatibilità di alcuni client che non conoscono la modifica del nome della libreria.) – baskin
@jpalecek Funziona se il nome del file ha l'estensione .dll? – saadtaame
Cosa succede se la libreria non è in/usr/bin/ld'? –