Mon programme est conçu comme un chargeur et de nombreux modules qui sont des bibliothèques partagées. Maintenant, l’une de ces bibliothèques utilise pthreads et semble liée au module de manière dynamic (chargée au démarrage). Maintenant, ce serait plus simple si je pouvais forcer les liens vers le fichier de module. GCC sous Linux, comment faire? Je suppose qu’un libpthread.a est nécessaire ….
Bien que la liaison de libpthread.a
dans une bibliothèque partagée soit théoriquement possible, c’est une très mauvaise idée . La raison en est que libpthread
fait partie de la glibc
, et que toutes les parties de la glibc
doivent correspondre exactement ou que vous voyez des pannes étranges et inexplicables.
Ainsi, lier libpthread.a
dans votre bibliothèque partagée:
glibc
glibc
de votre machine actuelle est mise à niveau, mais votre module n’est pas lié à nouveau avec libpthread.a
. Epargnez-vous l’aggravation et ne faites pas cela.