2009-11-12 2 views
3

Lors de la compilation de mon programme qui utilise libevent library, j'utilise l'option gcc -levent. Mais je reçois cette erreur -Raison et solution de l'erreur - "/ usr/bin/ld: ne peut pas trouver" -levent "?

/usr/bin/ld: ne peut pas trouver -levent

Je n'ai pas libevent sur mon système, je suis tellement liant statiquement à elle lors de la compilation en utilisant

gcc -o Hello -static -I libevent-1.4.12-stable/ hello.c -levent 

Comment puis-je résoudre ce problème?

Merci d'avance!

Répondre

5

Où se trouve le fichier libevent.(a|so) sur votre système? S'il ne se trouve pas sur le chemin de la bibliothèque de votre système, vous devrez ajouter une option -L en ajoutant son emplacement à la liste des chemins recherchés par l'éditeur de liens pour les bibliothèques.

par exemple.

gcc -L/folder/containing/event/lib -levent mysource.cc 
+0

Je n'ai pas libevent. (A | so). Je statiquement libevent en utilisant gcc -o Bonjour -static -I libevent-1.4.12-stable/bonjour.c -levent –

+2

Si vous voulez lier contre la bibliothèque (statiquement ou dynamiquement) vous avez besoin de la bibliothèque. La bibliothèque statique doit être appelée libevent.a. Si cela est dans libevent-1.4.12-stable, alors vous devriez fournir '-Llibevent-1.4.12-stable' pour dire à l'éditeur de liens d'y regarder. –

0

Vous devez avoir le libevent sur votre système ou besoin de spécifier explicitement son chemin (si sa bibliothèque tiers que vous avez avec les en-têtes). Je ne pense pas que ce soit dans vos chemins par défaut/lib.

Questions connexes