2009-12-12 8 views
20

J'essaie d'utiliser openssl dans un programme gcc mais cela ne fonctionne pas.Comment utiliser OpenSSL dans GCC?

g++ server.cpp /usr/lib/libssl.a -o server 

donne un message d'erreur, tout comme quoi que ce soit avec l'option -l. Que dois-je taper sur la ligne de commande pour lier avec openssl? Le fichier /usr/lib/libssl.a existe, mais néanmoins je reçois toujours l'erreur de lien no such function MD5() exists.

+1

Je ne vois pas l'utilisation de -l dans la commande que vous avez posté. Et ne postez pas votre question dans UPPER CASE - crier est impoli. –

+2

Quelque chose comme 'g ++ server.cpp -L/usr/lib -lssl -o server' devrait faire l'affaire. Postez les erreurs exactes que vous obtenez et quelqu'un peut vous aider. Et je seconde Daniel sur la chose qui crie;) –

+0

Il vous manque '/ usr/lib/libcrypto.a'. 'libcrypto' fournit le chiffrement utilisé par' libssl'. Ajoutez les deux dans cet ordre exact car LD est un lieur à passage unique: '/usr/lib/libssl.a/usr/lib/libcrypto.a'. – jww

Répondre

22

Sans connaître les erreurs exactes que vous voyez, il est difficile de fournir une solution exacte. Voici ma meilleure tentative. D'après les informations que vous avez fournies, il semble que l'éditeur de liens échoue car il ne trouve pas de référence à la fonction md5 dans libssl.a. Je crois que cette fonction est en fait dans libcrypto, donc vous devrez peut-être spécifier cette bibliothèque.

g++ server.cpp -L/usr/lib -lssl -lcrypto -o server

5

Dans IDE Eclipse sélectionnez votre propriété de projet -> c/C++ Construire -> Paramètres éditeur de liens gcc c (à partir des paramètres des outils) -> Ajouter à la bibliothèque Chemin de recherche (-L)

/usr/lib -lssl -lcrypto