Для каждого, кто сталкивается с такой проблемой, как я (и не понимает ответ правильно): вот краткое руководство по созданию динамической библиотеки (libmylib.so) из статической (mylib.a):
1.) Создайте файл mylib.c, который импортирует только файл mylib.h
2.), Скомпилируйте этот файл mylib.c в mylib.o с помощью
gcc -c -fPIC mylib.c -o msat.o
3.) создать динамическую библиотеку с помощью следующей команды:
gcc --whole-archive -shared -Wl,-soname,libmylib.so -o libmylib.so mylib.o mylib.a
Это сработало по крайней мере для меня, превратив статическую библиотеку (скомпилированную с -fPIC) в динамическую библиотеку.Я не уверен, будет ли это работать для других библиотек.