2009-12-12 19 views
20

Sto provando a usare openssl in un programma gcc ma non funziona.Come utilizzare OpenSSL in GCC?

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

dà un messaggio di errore, come fa qualsiasi cosa con l'opzione -l. Cosa devo digitare sulla riga di comando per collegarmi a openssl? Il file /usr/lib/libssl.a esiste, ma nonostante ciò ottengo ancora l'errore del linker no such function MD5() exists.

+1

non vedo l'uso di -l nel comando che hai postato. E non pubblicare la tua domanda in MAIUSCOLO - urlare è maleducato. –

+2

Qualcosa come 'g ++ server.cpp -L/usr/lib -lssl -o server' dovrebbe fare il trucco. Pubblica gli errori esatti che ricevi e qualcuno può aiutarti. E in secondo luogo Neil sulla cosa che urla;) –

+0

Ti manca '/ usr/lib/libcrypto.a'. 'libcrypto' fornisce la crittografia usata da' libssl'. Aggiungi entrambi in questo ordine esatto perché LD è un liker a passaggio singolo: '/usr/lib/libssl.a/usr/lib/libcrypto.a'. – jww

risposta

22

Senza conoscere gli errori esatti che si stanno verificando, è difficile fornire una soluzione esatta. Ecco il mio miglior tentativo.

Dalle informazioni fornite, sembra che il linker non funzioni perché non riesce a trovare un riferimento alla funzione md5 in libssl.a. Credo che questa funzione sia effettivamente in libcrypto, quindi potrebbe essere necessario specificare anche questa libreria.

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

5

In Eclipse IDE selezionare La tua struttura di progetto -> C/C++ Build -> Impostazioni gcc c linker (dalle impostazioni Strumenti) -> Aggiungi alla libreria percorso di ricerca (-L)

/usr/lib -lssl -lcrypto