onpise
Messages postés2Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention21 septembre 2009
-
19 sept. 2009 à 15:43
onpise
Messages postés2Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention21 septembre 2009
-
21 sept. 2009 à 10:17
Bonjour,
Openssl fourni des programmes demos dont pkread.c fait parti. J'ai utilisé le gestionnaire d'installation de opensuse pour installer openssl. Après l'installation j'ai contrôlé que les fichiers des "include" existe bien. Ils sont dans /usr/include/openssl. J'ai essayé de compiler le programme avec les commandes :
gcc pkread.c -B /usr/include /tmp/ccagAhiE.o: In function `main':
pkread.c:(.text+0x43): undefined reference to `OPENSSL_add_all_algorithms_noconf'
pkread.c:(.text+0x48): undefined reference to `ERR_load_crypto_strings'
pkread.c:(.text+0xa1): undefined reference to `d2i_PKCS12_fp'
pkread.c:(.text+0xdc): undefined reference to `ERR_print_errors_fp'
pkread.c:(.text+0x109): undefined reference to `PKCS12_parse'
pkread.c:(.text+0x134): undefined reference to `ERR_print_errors_fp'
pkread.c:(.text+0x147): undefined reference to `PKCS12_free'
pkread.c:(.text+0x1de): undefined reference to `PEM_write_PrivateKey'
pkread.c:(.text+0x20c): undefined reference to `PEM_write_X509_AUX'
pkread.c:(.text+0x21e): undefined reference to `sk_num'
pkread.c:(.text+0x24f): undefined reference to `sk_value'
pkread.c:(.text+0x25b): undefined reference to `PEM_write_X509_AUX'
pkread.c:(.text+0x268): undefined reference to `sk_num'
collect2: ld returned 1 exit status
gcc pkread.c -B /usr/include/openssl
/tmp/ccENU53D.o: In function `main':
pkread.c:(.text+0x43): undefined reference to `OPENSSL_add_all_algorithms_noconf'
pkread.c:(.text+0x48): undefined reference to `ERR_load_crypto_strings'
pkread.c:(.text+0xa1): undefined reference to `d2i_PKCS12_fp'
pkread.c:(.text+0xdc): undefined reference to `ERR_print_errors_fp'
pkread.c:(.text+0x109): undefined reference to `PKCS12_parse'
pkread.c:(.text+0x134): undefined reference to `ERR_print_errors_fp'
pkread.c:(.text+0x147): undefined reference to `PKCS12_free'
pkread.c:(.text+0x1de): undefined reference to `PEM_write_PrivateKey'
pkread.c:(.text+0x20c): undefined reference to `PEM_write_X509_AUX'
pkread.c:(.text+0x21e): undefined reference to `sk_num'
pkread.c:(.text+0x24f): undefined reference to `sk_value'
pkread.c:(.text+0x25b): undefined reference to `PEM_write_X509_AUX'
pkread.c:(.text+0x268): undefined reference to `sk_num'
collect2: ld returned 1 exit status
Il me semble que chaque fois que je dois compiler un programme C avec des libs externe j'ai ce genre de problème. Donc je suis ouvert à toute redirection sur un site qui explique comment résoudre ces problèmes de "undefined référence". Pour information OPENSSL_add_all_algorithms_noconf est déclaré dans un header include par pem.h. Je sais pas si le problème vient de là.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 20 sept. 2009 à 18:01
Salut,
Bin c'est pas un problème de compilation, c'est un problème de link.
C'est ultra classique.
Ta librairie est fournit avec un dossier include et un dossier lib.
Le dossier include tu t'en ai servi.
Maintenant, faut te servir du dossier lib, qui contient des .lib ou des .a utilisés au link.