Я написал общий libA.so. Моя программа P будет динамически загружать libA.so (использует dlopen, dlsym...).
Вот моя проблема:
В libA.so мне приходится использовать функции (например, fun1()) в статическом libB.a, но libB .a не скомпилирован с -fPIC
, и я не могу перекомпилировать libB.a, поэтому я не могу связать libB.a с libA .so.
Я попытался связать libB.a с P (с -Wl, --whole-archive), чтобы позволить динамическому загрузчику связать fun1() em> в libA.so при загрузке. Однако это не работает. И я почти уверен, что fun1() находится в P (я проверил это с помощью: nm P | grep "fun1"
).
Как я могу сделать?
Заранее спасибо!