Saya cukup baru di Ubuntu, tetapi sepertinya saya tidak bisa menjalankannya. Ini berfungsi baik di komputer sekolah saya dan saya tidak tahu apa yang tidak saya lakukan. Saya telah memeriksa usr / include dan time.h apakah ada apa-apa. Ini kodenya:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
timespec time1, time2;
int temp;
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1);
//do stuff here
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2);
return 0;
}
Saya menggunakan CodeBlocks sebagai IDE saya untuk membangun dan menjalankan juga. Bantuan apa pun akan bagus, terima kasih.
-D_XOPEN_SOURCE=600
juga. Lihat juga GCC dengan -std = c99 mengeluh tentang tidak mengetahui struct timespec .Jawaban:
Tambahkan
-lrt
ke akhir baris perintah g ++. Tautan ini di librt.so pustaka bersama "Real Time".sumber
C
... apa fungsinya-lrt
?g++ -o main -lrt main.cpp
tidak bekerja untuk saya-lrt
setelahmain.cpp
- urutan masalah perpustakaan bersama - lihat ini atau itu untuk lebih jelasnyacontoh:
Untuk
gcc
versi 4.6.1,-lrt
harus setelah filefork.cpp jika tidak Anda mendapatkan kesalahan tautan.Beberapa
gcc
versi yang lebih lama tidak peduli dengan posisi tersebut.sumber
-lrt
tidak berada di posisi yang benar membuat saya sakit kepala. Apakah ada motivasi untuk pengaturan gila ini (well, banyak yang mengatakan kriminal)?*.o
argumen, fungsi perpustakaan diabaikan kecuali jika direferensikan sebelumnya, yang berarti, ke kiri.Sejak glibc versi 2.17, penautan pustaka
-lrt
tidak lagi diperlukan.The
clock_*
kini menjadi bagian dari perpustakaan C utama. Anda dapat melihat riwayat perubahan glibc 2.17 di mana perubahan ini dilakukan menjelaskan alasan perubahan ini:Jika Anda memutuskan untuk memutakhirkan glibc, maka Anda dapat memeriksa pelacak kompatibilitas glibc jika Anda khawatir apakah akan ada masalah menggunakan glibc yang lebih baru.
Untuk memeriksa versi glibc yang diinstal pada sistem, jalankan perintah:
(Tentu saja, jika Anda menggunakan glibc lama (<2.17) maka Anda masih perlu
-lrt
.)sumber
Saya mengalami kesalahan yang sama. Perintah linker saya memang menyertakan pustaka rt
-lrt
mana yang benar dan itu berfungsi untuk sementara waktu. Setelah menginstal ulang Kubuntu berhenti bekerja.Sebuah utas forum terpisah menyarankan
-lrt
perlunya datang setelah file objek proyek. Memindahkan-lrt
ke akhir perintah memperbaiki masalah ini untuk saya meskipun saya tidak tahu detailnya.sumber