75 votes

lieur g ++: force la liaison statique si la bibliothèque statique existe?

J'ai un programme qui relie à de nombreuses bibliothèques. g ++, par défaut, préfère créer des liens vers des bibliothèques partagées, même s'il existe une archive correspondante. Comment puis-je modifier cette préférence pour préférer l'archive statique aux bibliothèques dynamiques, s'il existe une archive statique? Notez que j'ai utilisé l'option '-static', mais il essaie de trouver des archives statiques pour toutes les bibliothèques, ce qui n'est pas ce que je veux.

93voto

naideflan Points 366
 g++ -Wl,-Bstatic -lz -lfoo -Wl,-Bdynamic -lbar -Wl,--as-needed
 

Liera zlib et libfoo tant que statique et libbar tant que dynamique. --as-needed lâchera toute bibliothèque dynamique non utilisée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X