web-dev-qa-db-fra.com

Lier une bibliothèque partagée à l'aide de gcc

J'ai une bibliothèque partagée (* .so) créée en utilisant Real View Compiler Tools (RVCT 3.2) sur la cible Windows. Ensuite, j'essaie de lier ce fichier * .so à mon application en utilisant gcc sur le système linux.

Quelle est l'option gcc pour lier cette bibliothèque partagée à mon application linux?

Ma question est, est le -shared option, utilisée comme

gcc -shared myfile.so

..., utilisé pour créer le fichier SO ou pour lier le fichier SO? Je pense que cela crée quelque chose comme:

gcc -lmyfile.so

Est-ce assez? Ou existe-t-il un autre commutateur pour indiquer à l'éditeur de liens qu'il s'agit d'une bibliothèque dynamique (objet partagé)?

28
goldenmean

Ce qui a fonctionné pour moi, c'est:

gcc -L. -l:myfile.so
29
mluc

gcc -lmyfile devrait suffire (à condition que votre bibliothèque soit nommée libmyfile.so). L'éditeur de liens recherche les objets partagés lorsque cela est possible et AFAIK les préfère.

15
jpalecek