Какие библиотеки необходимо связывать для timer_create, timer_settime и других связанных с таймером функций

Компиляция программы в Linux, которая вызывает функции таймера POSIX (например: timer_create, timer_settime), возвращает такие ошибки, как:

In function `foo':
timer.c:(.text+0xbb): undefined reference to `timer_create'
timer.c:(.text+0x187): undefined reference to `timer_settime'
collect2: ld returned 1 exit status

Какую библиотеку мне нужно связать?

Ответ 1

Скомпилируйте его с опцией -lrt. Он будет скомпилирован.

Ответ 2

Это должно быть задокументировано на странице руководства. Учитывая, что это не добавить -lrt.

Ответ 3

. -lrt заставляет ссылку, но вы должны иметь библиотеку реального времени, прежде чем вы сможете ссылаться на нее. В большинстве случаев он включается автоматически, но если нет, вам нужно будет установить библиотеку в реальном времени, используя apt-get. Затем вы сможете установить ссылку на него в следующем (или аналогичном) месте:

/lib/i386-linux-gnu/librt.so.1

Если вы используете кодовые блоки и по какой-то причине -lrt не включает его, вы можете добавить вышеуказанный путь библиотеки и имя файла, используя следующую последовательность меню:

Project->Build Options->Linker Settings->Link Libraries->Add

Ответ 4

попробуйте следующее:

gcc -lrt

Ответ 5

вы можете попробовать gcc -o mytemer mytimer.c -lrt это работает для меня так, но не в этом порядке gcc * lrt mytimer.c -o mytimer