Misturar bibliotecas estáticas e bibliotecas compartilhadas
Tenho um projeto em que tenho uma biblioteca estáticalibhelper.a
e outro com minha biblioteca de objetos compartilhada real,libtestlib.so
. Meu objetivo é vincularlibhelper.a
para dentrolibtestlib.so
. Isso é possível no Linux / BSD? Quando tentei e criei um programa de teste, obtive os seguintes erros:
. / prog1: /usr/local/lib/libtestlib.so.1.0: símbolo indefinido ''
Meu palpite é que isso está ocorrendo porque o libhelper.a não foi compilado com-fPIC
enquantolibtestlib.so
estava. Qual é a maneira correta de criar programas que usam bibliotecas compartilhadas que também possuem dependências de bibliotecas estáticas?
Obrigado