У меня есть библиотека, которую я создаю. Все мои объекты компилируются и связаны последовательно, когда я запускаю любой из следующих:
ar rcs lib/libryftts.a $^
gcc -shared $^ -o lib/libryftts.so
в моем Makefile. Я также могу успешно установить их в /usr/local/lib
Когда я тестирую файл с nm, все функции есть.
Моя проблема в том, что когда я запускаю gcc testing/test.c -lryftts -o test && file ./test
или gcc testing/test.c lib/libryftts.a -o test && file ./test
он говорит:
test: ELF 64-bit LSB shared object
вместо test: ELF 64-bit LSB executable
, как я ожидал. Что я делаю неправильно?