GNU/Linux >> Tutoriels Linux >  >> Linux

Erreur de compilation MPI :référence indéfinie à `sqrt' - Résolu

Question : Cher Techglimpse, J'essaie de compiler un programme MPI (un exemple de programme simple qui calcule la valeur PI) en utilisant MPICH version 1.2.6. Ci-dessous la commande que j'ai utilisée pour la compilation :

mpicc -o a.out pi.c

Cependant, la commande a échoué avec un message d'erreur comme "référence non définie à 'sqrt' “. J'ai vérifié le code et il a math.h défini. Quel pourrait être le problème? – Surya

Le message d'erreur détaillé :

$ mpicc -o mpi-pi pi.c
/tmp/ccwuQwDw.o: In function `main':
pi.c:(.text+0x15f): undefined reference to `sqrt'
collect2: ld returned 1 exit status

Solution :

Surya, vous devez lier la bibliothèque mathématique pendant la compilation comme indiqué ci-dessous :

$ mpicc -o a.out pi.c -lm

Le libm.so sera situé sous /usr/lib . Cependant, l'emplacement peut varier d'une machine à l'autre.

$ whereis libm.so
libm: /usr/lib/libm.so /usr/lib/libm.a

Dans l'option -lm , 'l ‘ pointe vers le préfixe ‘lib’ et ‘m ‘ pour les maths.


Linux
  1. Gestion des erreurs dans les scripts Bash

  2. Erreur de compilation RSAKeyFind (Make):rsakeyfind.cpp - "memcmp, lire, fermer" n'a pas été déclaré dans cette portée [Résolu]

  3. Comment réparer l'appel à la fonction non définie apc_fetch() - Erreur fatale PHP [Résolu]

  4. Erreur fatale Php :appel à la fonction non définie Thesql_connect() ?

  5. Erreur fatale :appel à la fonction non définie mysqli_connect() dans /home/user/public_html/includes/connection.php

Erreur fatale :appel à la fonction indéfinie mb_substr() Erreur

Erreur Linux c++ :référence indéfinie à 'dlopen'

Erreur C++ :référence indéfinie à 'clock_gettime' et 'clock_settime'

C++ Boost :référence indéfinie à boost ::system::generic_category()

référence indéfinie au symbole '[email protected]@GLIBC_2.4'

référence indéfinie au symbole erreur '_ZN5boost6system15system_categoryEv'