J'ai créé un .so
fichier et placez-le à l'emplacement /opt/lib
et a ajouté ce chemin à LD_LIBRARY_PATH
maintenant après cela lorsque j'essaie de compiler mon programme principal avec la commande suivante:
g++ -Wall -I/home/alwin/Development/Calculator/ main.cpp -lcalc -o calculator
J'obtiens l'erreur suivante:
/usr/bin/ld: cannot find -lcalc
collect2: ld returned 1 exit status
Quelqu'un peut il m'aider avec ça. J'ai créé la bibliothèque partagée en utilisant les blocs de code IDE
Ajouter -L/opt/lib
aux paramètres de votre compilateur, le compilateur et l'éditeur de liens recherchent ce chemin pour libcalc.so
dans ce dossier.
Lorsque vous appelez gcc, il faut dire
g++ -Wall -I/home/alwin/Development/Calculator/ -L/opt/lib main.cpp -lcalc -o calculator
not -libcalc.so
J'ai un problème similaire avec les marques générées automatiquement.
Vous pouvez créer un lien logiciel de votre répertoire de compilation vers le répertoire de la bibliothèque. Ensuite, la bibliothèque devient "locale".
cd /compile/directory
ln -s /path/to/libcalc.so libcalc.so
@Alwin Doss Vous devez fournir l'option -L avant -l. Vous auriez probablement fait l'inverse. Essaye ça :)
Vous devez ajouter -L/opt/lib
pour dire à ld
d'y rechercher des objets partagés.