J'ai une bibliothèque partagée (* .so) créée à l'aide des outils du compilateur Real View (RVCT 3.2) sur la cible Windows. Ensuite, j'essaie de lier ce fichier * .so avec mon application en utilisant gcc sur le système Linux.Liaison d'une bibliothèque partagée à l'aide de gcc
Quelle est l'option gcc pour lier cette bibliothèque partagée avec mon application linux?
Ma question est, est l'option -shared
, qui est utilisé comme
gcc -shared myfile.so
..., utilisé pour créer le fichier SO ou pour lier le fichier SO? Je crois que cela crée quelque chose comme:
gcc -lmyfile.so
Est-ce suffisant? Ou y at-il un autre commutateur pour indiquer au lieur qu'il s'agit d'une bibliothèque dynamique (objet partagé)?
J'ai une question connexe: Dans le cas où ma libmyfile.so bibliothèque est un lien symbolique vers libyourfile.so, va relier mon programme en utilisant -lmyfile gcc encore travailler? (J'ai besoin de maintenir la rétrocompatibilité de certains clients qui ne sont pas conscients du changement de nom de la bibliothèque.) – baskin
@jpalecek Cela fonctionne-t-il si le nom de fichier a l'extension .dll? – saadtaame
Que faire si la bibliothèque n'est pas dans '/ usr/bin/ld'? –