Я пытаюсь скомпилировать объектный код со ссылкой на одну библиотеку. Это код libexample.c:
#include "libexample.h"
#include <signal.h>
#include <time.h>
timer_t sched;
struct itimerspec timer = {{0, 0}, {0, 0}};
void init() {
struct sigaction sa;
sigemptyset(&sa.sa_mask);
sigaction(SIGALRM, &sa, NULL);
timer_create(CLOCK_PROCESS_CPUTIME_ID, NULL, &sched);
timer_settime(sched, TIMER_ABSTIME, &timer, NULL);
}
И простой код примера программы:
#include "libexample.h"
int main() {
init();
return 0;
}
Я использую это для компиляции:
gcc libexample.c -c -lrt -o libexample.o
gcc example.c -lrt ibexample.o -o example
И я получаю это, когда пытаюсь скомпилировать со второй строкой:
./libexample.so: undefined reference to `timer_create'
./libexample.so: undefined reference to `timer_settime'
Кто-нибудь знает, что я делаю не так?