GNU/Linux >> Belajar Linux >  >> Linux

Kesalahan Kompilasi MPI:referensi tidak terdefinisi ke `sqrt' – Terpecahkan

Pertanyaan: Techglimpse yang terhormat, Saya mencoba mengkompilasi program MPI (contoh program sederhana yang menghitung nilai PI) menggunakan MPICH versi 1.2.6. Di bawah ini adalah perintah yang saya gunakan untuk kompilasi:

mpicc -o a.out pi.c

Namun, perintah gagal dengan pesan kesalahan sebagai “referensi tidak terdefinisi ke `sqrt’ “. Saya memverifikasi kode dan memiliki math.h didefinisikan. Apa yang bisa menjadi masalah? – Surya

Pesan kesalahan terperinci:

$ 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

Solusi:

Surya, Anda harus menautkan perpustakaan matematika selama kompilasi seperti yang ditunjukkan di bawah ini:

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

libm.so akan ditempatkan di bawah /usr/lib . Namun, lokasinya mungkin berbeda dari satu mesin ke mesin lainnya.

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

Dalam opsi -lm , ‘l ' menunjuk ke awalan 'lib' dan 'm ' untuk matematika.


Linux
  1. Penanganan kesalahan dalam skrip Bash

  2. Panggil ke fungsi yang tidak ditentukan simplexml_load_file() – Kesalahan PHP [Terpecahkan]

  3. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan mb_substr() Kesalahan

  1. Kesalahan C++:referensi tidak terdefinisi ke 'clock_gettime' dan 'clock_settime'

  2. crt1.o:Dalam fungsi `_start':- referensi tidak terdefinisi ke `main' di Linux

  3. C++ Boost:referensi tidak terdefinisi untuk boost::system::generic_category()

  1. RT:Pelacak Permintaan – Kesalahan:rt-mailgate – Kesalahan server tidak ditentukan – 500 Tidak dapat terhubung atau memverifikasi Sertifikat [Terpecahkan]

  2. RSAKeyFind Compilation (Buat) Error:rsakeyfind.cpp – “memcmp, read, close” tidak dideklarasikan dalam cakupan ini [Diselesaikan]

  3. Cara memperbaiki Panggilan ke fungsi yang tidak ditentukan apc_fetch() – PHP Fatal Error [Terpecahkan]