Pb de compilation " [Linker error] undefined reference to `__cpu_features_init' "
Bonsoir,
je suis un débutant en C++, j'ai crée un programme qui utilise les sockets, mon compilateur est Dev-C++, aprés la compilation j'ai reçus l'erreur suivant:
[Linker error] undefined reference to `__cpu_features_init'
j'attend l'aide de vous, avec tous mes respects.
Merci d'avance,
quasiement le même problème avec le devpak GSL
J'ai installé dans Dev-C++ le package GSL, et les fichiers headers semblent s'etre correctement ajoutés dans le repertoire include.
Cependant, lorsque j'essaye de compiler ce petit programme trouvé dans un tutorial, j'ai l'erreur suivante:
Code:
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
|
#include <stdlib.h>
#include <ctime>
#include <iostream>
#include <time.h>
#include <gsl/gsl_randist.h>
#include <gsl/gsl_rng.h>
using std::cout;
using std::endl;
int main(int argc, char *argv[]) {
gsl_rng *r;
// Générateur de nombres aléatoires
// Creation du générateur (ici, Mersenne Twister)
r = gsl_rng_alloc(gsl_rng_mt19937);
// Initialisation de la graine
gsl_rng_set(r, time(NULL));
// Génération de nombres suivant la loi de Gauss
double sigma = 1;
cout << "Loi de Gauss avec sigma= " << sigma << endl;
for(int i = 0; i < 20; i++)
cout << i << " : " << gsl_ran_gaussian(r, sigma) << endl;
// Destruction du générateur
gsl_rng_free(r);
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Compilateur: Default compiler
Exécution de g++.exe...
g++.exe "XXXX.cpp" -o "XXXX.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
undefined reference to `gsl_rng_mt19937'
undefined reference to `gsl_rng_alloc'
undefined reference to `gsl_rng_set'
undefined reference to `gsl_ran_gaussian'
undefined reference to `gsl_rng_free'
collect2: ld returned 1 exit status
Exécution terminée |
J'ai aussi remarqué que le dossier include du repertoire mingw32\ possedait des fichiers nommés pareil que Dev-Cpp\include\ , mais avec des tailles différentes. C'est louche non? Mais ca n'a sans doute rien a voir avec mo probleme...
[EDIT]
J'ai finalement trouvé tout seul: il faut rajouter -lgsl dans la ligne de commande. DU coup ca me compile bien le code. Par contre le fichier *.exe est foireux, ca me donne une erreur windows qui me propose d'envoyer q microsoft cette erreur (vous voyez de quelle boite de diqlogue je parle?)
Si quelqu'un pouvait corriger mon code please j'en ai marre il est 4h20 et j'aimerai avancer
[/EDIT]