GCC crea un objeto compartido en lugar de un binario ejecutable
Tengo una biblioteca que estoy construyendo. Todos mis objetos se compilan y vinculan sucesivamente cuando ejecuto cualquiera de:ar rcs lib/libryftts.a $^
gcc -shared $^ -o lib/libryftts.so
en mi Makefile También puedo instalarlos con éxito en/usr/local/lib
Cuando pruebo el archivo con nm, todas las funciones están ahí. Mi problema es que cuando corrogcc testing/test.c -lryftts -o test && file ./test
ogcc testing/test.c lib/libryftts.a -o test && file ./test
dice:
test: ELF 64-bit LSB shared object
en lugar detest: ELF 64-bit LSB executable
como era de esperar ¿Qué estoy haciendo mal?