lors de la compilation de dynlinktest.c il donne l'erreur suivante:Que fait l'option `cc`` -ldl` dans la commande suivante?
unipro @ ubuguest: ~ $ cc dynamiclinktest.c -o dynamiclinktest /tmp/ccli8dp2.o: En fonction main': dynamiclinktest.c:(.text+0x53): undefined reference to
dlopen » dynamiclinktest.c :(.text + 0x83): undefined reference to dlsym' dynamiclinktest.c:(.text+0x109): undefined reference to
dlclose » collect2: ld a renvoyé 1 état de sortie
après l'utilisation de cc -o dynlinktest.c dynlinktest -ldl il fonctionne. je n'ai pas compris pourquoi il est nécessaire d'utiliser -ldl
?
edit1: laisser de l'espace avant l'erreur.
Essayez 'man cc'. Il vous donnera quelques informations sur votre compilateur et ses options. – harald
La raison pour laquelle j'ai introduit les espaces avant votre ligne de commande et message d'erreur était qu'ils soient formatés correctement; C'est la convention que Stack Overflow utilise pour marquer le code et la sortie verbatim. Je suggère que vous remettiez les espaces pour rendre le message d'erreur plus facile à lire. –