33 votes

erreur: BOOST DISABLE THREADS

j'ai un problème avec ma bibliothèque boost. im en utilisant freebsd et installé mon boost en utilisant les ports. La version Boost est: 1.45 et j'utilise g ++ 47 comme compilateur. De plus, je n'ai jamais défini BOOST DISABLE THREADS ici: /usr/local/include/boost/config/user.hpp. Aussi exactement mon erreur est:

  /usr/local/include/boost/config/requires_threads.hpp:29:4: error: #error "Threading    support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" 
 

explicitement mais où ?? Et ma commande de compilation;

  g++47 -O3 -Wall -std=c++0x   -I. -Iinclude -I../include -I/usr/local/include   -c -o     Application.o src/Application.cpp
 

Merci

44voto

Joachim Pileborg Points 121221

La version expérimentale GCC 4.7 désactive Boost.Threads. Voir: https://svn.boost.org/trac/boost/ticket/6165

Edit: Il convient de noter qu'à partir de la version finale de GCC 4.7 et Boost supérieur à 1.48 (Boost_1_48_0 ne fonctionne toujours pas), les threads fonctionnent à nouveau.

8voto

DrYak Points 484

Voir le billet 6165 mentionnés ci-dessus par Joachim:
Pour définir les "threads" de soutien,

  • GCC <= 4.6 définit _GLIBCXX__PTHREADS
  • alors que GCC >= 4.7 définit _GLIBCXX_HAS_GTHREADS.

Donc, afin de compiler des anciens Stimule l'utilisation de tout GCC plus récente de 4,6 vous avez besoin du patch libstdcpp3.hpp.patch enfermé dans ce billet.

Un autre problème qui pourrait également empêcher le Boost sur le travail avec les modernes compilateur est un billet 6940 (TIME_UTC a un spécial meanhing en C11, donc Boost >= 1.50 utiliser TIME_UTC_ à la place)

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