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é)?
Ce qui a fonctionné pour moi, c'est:
gcc -L. -l:myfile.so
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.