И это всё МОЁ
Всем привет, возникла проблема с подключением статической библиотеки.
Файлы с библиотеки (для теста):
libMy.c:
#include "libMy.h"
void func1()
{
sys_err("Test work lib"
;
}
libMy.h:
extern void func1();
компилирую библиотеку так:
gcc libMy.c -c -o libMy.o
ar cr libMy.a libMy.o
Подключить данную библиотеку хочу к исходникам сервера игры.
Саму библиотеку (libMy.a) закинул по пути ../../libMy/lib (по отношения исходника игры).
в makefile добавил новую библиотеку:
LIBDIR += -L../../libMy/lib
LIBS += -lMy
Т.е добавление в makefile, как я понял, должно уже подключить библиотеку. добавил инклуд libMy.h в stack.cpp:
#include "libMy.h"
Сам хейдер выглядит так:
libMy.h:
void func1();
в файле исходника игры stack.cpp вызываю так:
func1();
Уже после компиляции сервера (когда линкуется\собирается сам основной файл) выдается ошибка:
linking ../game....
stack.cpp:1728: undefined reference to `func1()'
stack.cpp:1728: undefined reference to `func1()'
collect2: error: ld returned 1 exit status
gmake: *** [../game] Error 1
Как правильно подключить статическую библиотеку?