Сначала контекст: у меня есть заголовок (event.h), программа под названием event.c и основная программа main.c. Эта программа будет скомпилирована, создавая сначала объектную программу (event.o), затем статическую библиотеку (libevent.a) в отдельной папке, а затем исполняемую программу work1.exe
Для этого я создал этот make файл:
work1 : main.c libevent.a
gcc -static main.c -L./lib -levent -o work1 -Wall
event.o: event.c
gcc -c event.c -Wall
libevent.a: event.o
ar rcs lib/libevento.a event.o
clean:
rm work1 *.o
Результат выполнения make файла приводит к этой ошибке:
$ make
gcc -c event.c -Wall
ar rcs lib/libevent.a event.o
gcc -static main.c -L./lib -levent -o work1 -Wall
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make: *** [work1] Error 1
Любая идея, что здесь происходит? Есть ли способ скомпилировать это, не устанавливая ничего?