Ответ 1
cc -o yourprog yourprog.c -lstatic
или
cc -o yourprog yourprog.c libstatic.a
Я использую code:: blocks для компиляции моей статической библиотеки. Результатом вывода является файл libstatic.a. Теперь, как мне привязать к моей библиотеке, чтобы использовать функции, которые были скомпилированы?
(я пытался использовать #include "libstatic.a", но мой проект не компилируется)
cc -o yourprog yourprog.c -lstatic
или
cc -o yourprog yourprog.c libstatic.a
Вы должны #include "libstatic.h"
, т.е. использовать в своем коде соответствующий заголовочный файл (, почему ваш код не компилируется) и включить путь к вашему libstatic.a
в параметрах компоновщика как один ваших входных библиотек.
На этой веб-странице есть несколько примеров ссылок на статическую библиотеку, например
gcc -I. -o jvct jvct.c libjvc.a
Мне пришлось установить путь к библиотеке в моем make файле. Для этого случая вы можете использовать:
gcc -o myapp main.c -L. -lstatic
gcc -I. -o jvct jvct.c libjvc.a
Чтобы связать чисто статически, используйте -static
cc -static yourprogram.c libstatic.a