GNU/Linux >> Belajar Linux >  >> Linux

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

contoh:

c++ -Wall filefork.cpp -lrt -O2

Untuk gcc versi 4.6.1, -lrt harus setelah filefork.cpp jika tidak, Anda mendapatkan kesalahan tautan.

Beberapa gcc yang lebih lama versi tidak peduli tentang posisi.


Tambahkan -lrt ke akhir baris perintah g++. Tautan ini di pustaka bersama librt.so "Waktu Nyata".


Sejak glibc versi 2.17, library menautkan -lrt tidak lagi diperlukan.

clock_* sekarang menjadi bagian dari pustaka C utama. Anda dapat melihat riwayat perubahan glibc 2.17 tempat perubahan ini dilakukan menjelaskan alasan perubahan ini:

+* The `clock_*' suite of functions (declared in <time.h>) is now available
+  directly in the main C library.  Previously it was necessary to link with
+  -lrt to use these functions.  This change has the effect that a
+  single-threaded program that uses a function such as `clock_gettime' (and
+  is not linked with -lrt) will no longer implicitly load the pthreads
+  library at runtime and so will not suffer the overheads associated with
+  multi-thread support in other code such as the C++ runtime library.

Jika Anda memutuskan untuk memutakhirkan glibc, Anda dapat memeriksa pelacak kompatibilitas glibc jika Anda khawatir apakah akan ada masalah saat menggunakan glibc yang lebih baru.

Untuk memeriksa versi glibc yang diinstal pada sistem, jalankan perintah:

ldd --version

(Tentu saja, jika Anda menggunakan glibc lama (<2.17) maka Anda masih memerlukan -lrt .)


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

  2. Kesalahan c ++ Linux:referensi tidak terdefinisi ke 'dlopen'

  3. Menggunakan sqrtf() di C:referensi tidak terdefinisi ke `sqrtf'

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

  2. referensi tidak terdefinisi untuk kesalahan simbol '_ZN5boost6system15system_categoryEv'

  3. Kesalahan saat menggunakan glibc versi terbaru

  1. Centos 4.8 Dan Glibc 2.5?

  2. Perangkap, Err, Dan Menggaungkan Garis Kesalahan?

  3. CodeBlocks – IDE C, C++, dan Fortran Gratis &Lintas-Platform