Если libdpi.so
спроектирован так, что он может открывать libeval.so
, то ваша программа должна знать только о libdpi.so
.
В частности, libdpi.so
должен иметь некоторую функцию, которая вызывает dlopen
, вероятно, так:
dlopen("path/to/libdpi.so", RTLD_LAZY);
Тогда другие функции в libdpi.so
могут взаимодействовать с libeval.so
.
Редактировать : Чтобы создать общую библиотеку, используйте эту команду:
gcc -shared -o libdpi.so [list of object files to go in libdpi.so]
Примечание. При создании объектов используйте аргумент команды -fPIC
с gcc, например:
gcc -fPIC -o foo.o foo.c