неопределенная ссылка на `timer_getoverrun 'исправлена ​​передачей -lrt в gcc.Но почему? - PullRequest
2 голосов
/ 01 июня 2011

Я экспериментировал с несколькими функциями таймера и закончил с ошибкой вышеупомянутого компоновщика. Кто-то в сети предложил передать -lrt в gcc, и это сработало! Что такое '-lrt' и как это помогло преодолеть эту ошибку?

Я посмотрел в gcc --help, но не смог найти эти опции, и справочная страница gcc (которая слишком велика) также не дает большого понимания этого.

Ответы [ 3 ]

2 голосов
/ 01 июня 2011

Добавляет библиотеку rt к компоновщику (см. librt ), который среди прочего определяет timer_getoverrun.

1 голос
/ 01 июня 2011

Функция timer_getoverrun() реализована в librt.so.Со страницы руководства timer_getoverrun(2):

SYNOPSIS
   ...

   Link with -lrt.
1 голос
/ 01 июня 2011

Его нет на странице руководства gcc, потому что это не вариант. Это библиотека (-l расшифровывается как library, именно так библиотеки передаются компоновщику)

rt - это библиотека времени. timer_getoverrun только что определен там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...