bonjour � tous, je vous expose succinctement mon probleme. :
1 - je programme en g�n�ral avec DEVC++ sous wintruc, et j'arrive � faire pas mal de choses, y compris � utiliser la lib GMP (gestion et calcul en grands nombres)
2- je cherche � tester CODE::BLOCKS 8.02 sous UBUNTU9.10 que je viens d installer
pour ce faire j'ai (pour faire la meme chose) commenc� par tester ce petit programme (qui cherche le min et le max d'une liste et qui tourne tres bien AUSSI sous code::blocks)
code 1 : marche bien en devcpp XP et code::block 8.02 linux
nouvelle etape : je veux tester un prog qui utilise la lib GMP (que j'ai prealablement install�e sur ubuntu) (ce prog tourne tres bien sous devcpp en XP):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 #include <iostream.h> #include <stdio.h> #include<math.h> #include <windows.h> int main(void) { int tab[10]; int nb,i,min,max; printf("nb de donnees??"); scanf("%d",&nb); for (i=0;i<nb;i++) { printf("valeur a entrer:"); scanf("%d",&tab[i]); } //calcul du min min=32767; for (i=0;i<nb;i++) { if (tab[i]<min) { min=tab[i]; } } printf("le min est %d:",min); //calcul du max max=-1; for (i=0;i<nb;i++) { if (tab[i]>max) { max=tab[i]; } } printf("le max est %d:",max); system("pause"); getchar(); return 0; }
code 2 (fonctionnel sous devcpp XP mais PAS sous code::blocks 8.02)
voil� le log de compil : (notez qu il ne dit pas que la lib gmp.H est introuvable....donc pour moi c'est OK)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 //=================================================================// // Fichier principal // //=================================================================// #include <stdio.h> #include <stdlib.h> #include <gmp.h> // Librairie mathématique //=================================================================// // Fonction principale du programme // //=================================================================// int main(int argc, char* argv[]) { int n; mpz_t nbre; // Définit un nombre // mp = multiple precision // z = entier en math // Affiche ce que l'on fait printf("Affichage d'un nombre sous la forme 2^n-1\n"); // Demande et récupère une valeur de n printf("Valeur de n = "); scanf("%d", &n); // Initialise le nbre de mersenne à 2 mpz_init(nbre); // Initialise la variable mpz_add_ui(nbre, nbre, 2); // Place 2 dedans // Calcul 2^n-1 mpz_pow_ui(nbre, nbre, n); // Calcul 2^n mpz_sub_ui(nbre, nbre, 1); // Enlève 1 // Affiche le nombre gmp_printf("%Zd\n", nbre); system("pause"); return 0; }
3-------------- Build: Debug in essai-gmp ---------------
Compiling: main.cpp
Linking console executable: bin/Debug/essai-gmp
obj/Debug/main.o: In function `main':
/home/thebest/Bureau/essai-gmp/main.cpp:27: undefined reference to `__gmpz_init'
/home/thebest/Bureau/essai-gmp/main.cpp:28: undefined reference to `__gmpz_add_ui'
/home/thebest/Bureau/essai-gmp/main.cpp:31: undefined reference to `__gmpz_pow_ui'
/home/thebest/Bureau/essai-gmp/main.cpp:32: undefined reference to `__gmpz_sub_ui'
/home/thebest/Bureau/essai-gmp/main.cpp:35: undefined reference to `__gmp_printf'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
5 errors, 0 warnings
VOILA ! il est clair que je ne sais pas compiler mon projet avec la librairie GMP, pourtant je l'ai install�e correctement sous UBUNTU (je suis pas un newbie, mais pas non plus un as du mode console) :
mes manips furent les suivantes
puis :
Code : S�lectionner tout - Visualiser dans une fen�tre � part sudo aptitude install m4
cd ~
mkdir RSA
cd RSA
wget http://ftp.sunet.se/pub/gnu/gmp/gmp-4.2.3.tar.gz
tar xfz gmp-4.2.3.tar.gz
cd gmp-4.2.3
./configure --enable-cxx
make
make check
sudo make install
cd ..
rm -rf gmp-4.2.3 gmp-4.2.3.tar.gz
cd /usr/lib/
sudo ln -s /usr/local/lib/libgmpxx.so.4 libgmpxx.so.4
cd ~/RSA
l'install s'est pass�e impec !!
pourtant je ne trouve pas la lib gmpxx.a ni gmp.a (j'ai cherch� dans usr/lib/codeblocks)
donc si qq pouvait m'aider � :
-verifier si la lib est bien ou elle doit etre
-tester mon petit prog et me donner la marche � suivre pour linker , car je pense que mon probleme est la
merci d avance et desol� pour ce post un peu long !
Partager