Il n'est pas clair pour moi quelles options de liaison existent pour la bibliothèque Boost.Thread 1.34.1. Je suis sur Ubuntu 8.04 et j'ai trouvé que lors de l'utilisation de boost_thread
ou boost_thread-mt
lors de la liaison à la fois compiler et exécuter, mais je ne vois aucune documentation sur ces ou d'autres options de liaison dans le lien ci-dessus. Quelles options de liaison Boost.Thread sont disponibles et que signifient-elles?Boost.Thread Liaison - boost_thread vs boost_thread-mt
Répondre
Eh bien ...
La première chose amusante est que le modificateur -mt
au nom est d'indiquer la bibliothèque est Ok pour le multithreading. Ce qui pourrait nous amener à croire que boost_thread
(sans ce modificateur) pourrait être multithread dangereux ...
Mais la vraie chose est que (comme on le voit sur ma boîte Ubuntu 10.04), boost_thread
est un lien doux pour boost_thread-mt
, ce qui signifie que les deux sont une seule et même chose.
Si vous voulez vérifier, vous pouvez ouvrir une console sur votre ubuntu (faire le plein écran de la console parce que les noms sont longs), puis tapez:
cd /usr/lib
de se déplacer dans le répertoire où les bibliothèques Boost sont. Et puis:
ls -l ./libboost_thread*
qui liste tous les fichiers commençant par libboost_thread
, avec des informations additionnelles. Le résultat sera quelque chose comme:
[...] ./libboost_thread.a
[...] ./libboost_thread-mt.a -> libboost_thread.a
Comme vous pouvez le voir, libboost_thread.a
est une bibliothèque statique et libboost_thread-mt.a
est un lien doux pour libboost_thread.a
Pour une référence détaillée du schéma de nommage bibliothèque Boost, voir: http://www.boost.org/doc/libs/release/more/getting_started/unix-variants.html#library-naming
+1 pour des informations utiles, mais ne répond pas réellement à ma question. –
Pourquoi construisez-vous 1.34.1 au lieu de 1.43.1? – Puppy
@DeadMG: Parce que c'est ce qui arrive avec Ubuntu 8.04 et je n'ai pas la possibilité de compiler et d'installer une version plus récente. –