Estoy trabajando en QT.
- ¿Puede una biblioteca estática depender de otra biblioteca estática? (Static Lib se crea al vincular otra biblioteca estática)
- En caso afirmativo, ¿es posible que después de vincular a lib2, la lib generada (lib1) no contenga todos los códigos de lib2?
En mi proyecto Qt estoy usando una biblioteca estática, que depende de varias bibliotecas. Tuve que agregar todas las bibliotecas (con todos sus encabezados en mi proyecto), aunque solo necesito una lib (y una .h de esa clase) en mi código.
Por favor explique el escenario.
fuente
Mis dos bits rápidos sobre esto: 10 (lo siento, una broma terrible).
Para ampliar un poco, aquí va:
1- Una biblioteca estática puede depender de otra biblioteca estática, nada o incluso una biblioteca dinámica: en las dos primeras instancias, todo el código para la nueva biblioteca estática se incorporaría en el nuevo SLL (Static Link Library), sin embargo, la tercera opción , dependiendo del medio ambiente podría llevar a que el SLL tenga uno de los siguientes resultados,
En resumen, sí, puede vincular una biblioteca estática a una biblioteca estática
2- si lib1 y lib2 son estáticos, y lib1 se ha vinculado con lib2, entonces toda la funcionalidad de lib2 estaría disponible dentro de lib1 sin la necesidad de incluir lib2 ya que lib2 estaría estáticamente vinculado dentro de lib1 (piense en las muñecas rusas, con lib2 siendo el más pequeño).
En el escenario que describe, debe haber una funcionalidad discreta disponible en cada uno de los archivos que tiene que incluir, que no está estáticamente vinculada, de ahí la necesidad de múltiples archivos, de lo contrario tendría que incluir un solo archivo y estaría bien.
Tome lo siguiente: Un archivo .h con referencias a 6 bibliotecas enlazadas estáticamente: necesitaría incluir 7 archivos en su proyecto para obtener la funcionalidad completa
Un SLL que se creó a partir de dicho archivo .h requeriría que solo se incluyera el nuevo SLL para vincular en la compilación:
Espero que esto ayude y que haya entendido lo que estaba preguntando.
fuente