GNU/Linux >> Tutoriales Linux >  >> Linux

Error de compilación MPI:referencia indefinida a `sqrt’ – Resuelto

Pregunta: Estimado Techglimpse:Estoy tratando de compilar un programa MPI (un programa de ejemplo simple que calcula el valor de PI) usando MPICH versión 1.2.6. A continuación se muestra el comando que utilicé para la compilación:

mpicc -o a.out pi.c

Sin embargo, el comando falló con un mensaje de error como “referencia indefinida a `sqrt’ “. Verifiqué el código y tiene math.h definido. ¿Cual podría ser el problema? – Surya

El mensaje de error detallado:

$ 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

Solución:

Surya, tienes que vincular la biblioteca de matemáticas durante la compilación como se muestra a continuación:

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

El libm.so se ubicará en /usr/lib . Sin embargo, la ubicación puede variar de una máquina a otra.

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

En la opción -lm , 'l ' apunta al prefijo 'lib' y 'm ' para matemáticas.


Linux
  1. Error de compilación RSAKeyFind (Make):rsakeyfind.cpp:"memcmp, read, close" no se declaró en este ámbito [Resuelto]

  2. Cómo arreglar la llamada a la función indefinida apc_fetch () – Error fatal de PHP [Resuelto]

  3. ¿Error wifi Wpa_supplicant?

  4. Error fatal:llamada a la función no definida mysqli_connect() en /home/user/public_html/includes/connection.php

  5. Error fatal:llamada a la función indefinida mb_substr() Error

Error de Linux c ++:referencia indefinida a 'dlopen'

Libusb referencia indefinida a

Que es :-!! en código C?

crt1.o:En la función `_start':- referencia indefinida a `main' en Linux

Usando sqrtf() en C:referencia indefinida a `sqrtf'

referencia indefinida al símbolo '[email protected]@GLIBC_2.4'