GNU/Linux >> Znalost Linux >  >> Linux

Chyba kompilace MPI:nedefinovaný odkaz na „sqrt“ – vyřešeno

Otázka: Vážený Techglimpse, pokouším se zkompilovat program MPI (jednoduchý příklad programu, který vypočítá hodnotu PI) pomocí MPICH verze 1.2.6. Níže je příkaz, který jsem použil pro kompilaci:

mpicc -o a.out pi.c

Příkaz však selhal s chybovou zprávou jako „undefined reference to `sqrt‘ “. Ověřil jsem kód a má math.h definována. v čem by mohl být problém? – Surya

Podrobná chybová zpráva:

$ 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

Řešení:

Suryo, musíte propojit matematickou knihovnu během kompilace, jak je uvedeno níže:

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

libm.so bude umístěn pod /usr/lib . Umístění se však může lišit počítač od počítače.

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

Ve volbě -lm , „l ‘ ukazuje na předponu ‘lib’ a ‘m ‘ pro matematiku.


Linux
  1. Zpracování chyb ve skriptech Bash

  2. Chyba kompilace RSAKeyFind (Make):rsakeyfind.cpp – „memcmp, read, close“ nebylo deklarováno v tomto rozsahu [Vyřešeno]

  3. Jak opravit volání nedefinované funkce apc_fetch() – Závažná chyba PHP [Vyřešeno]

  1. Wifi Error Wpa_supplicant?

  2. Závažná chyba:Volání nedefinované funkce mb_substr() Chyba

  3. Chyba Linux c++:nedefinovaný odkaz na 'dlopen'

  1. Chyba C++:nedefinovaný odkaz na 'clock_gettime' a 'clock_settime'

  2. Závažná chyba:Volání nedefinované funkce curl_init()

  3. Libusb nedefinovaný odkaz na