2017-07-20 5 views
1

Pour mesurer l'heure de certaines parties d'un programme, je souhaite utiliser la fonction omp_get_wtime() d'OpenMP. Je peux compiler le projet seulement en 32 bits (avec l'option -m32 gcc). Et je reçois ces erreurs:OpenMP omp_get_wtime g ++ 32bits

libgomp.a(time.o): In function 'gomp_ialias_omp_get_wtick': 
    undefined reference to 'clock_getres' 
libgomp.a(time.o): In function 'gomp_ialias_omp_get_wtime': 
    undefined reference to 'clock_gettime' 

Bien que je n'ai aucune erreur quand je compiles en 64bits (je fait un test simple). J'ai utilisé -fopenmp pour lier openmp. J'ai essayé d'ajouter -gomp, mais cela n'a rien changé.

Je suis sous une version Cent OS 2012 (64bits), et la compilation avec gcc 4.4.7.
Et pour le rendre plus drôle, je ne peux pas mettre à jour ou installer quoi que ce soit avec apt, mais je peux compiler à partir de sources des bibliothèques manquantes.

Répondre

2

Les anciennes versions de glibc définissent clock_getres et clock_gettime dans librt, pas libc, donc vous avez probablement juste besoin d'établir des liens avec -lrt.

+0

Cela fonctionne, merci;) – Phantom