我的升级库有问题。我使用freebsd并使用端口安装了我的提升。 Boost版本是:1.45,我使用g ++ 47作为编译器。此外,我从来没有在那里定义过BOOST DISABLE THREADS:/usr/local/include/boost/config/user.hpp。而且我的错误确实是:
/usr/local/include/boost/config/requires_threads.hpp:29:4: error: #error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
明确但在哪里?我的编译命令;
g++47 -O3 -Wall -std=c++0x -I. -Iinclude -I../include -I/usr/local/include -c -o Application.o src/Application.cpp
谢谢
答案 0 :(得分:44)
实验性GCC版本4.7禁用Boost.Threads。请参阅:https://svn.boost.org/trac/boost/ticket/6165
编辑:应该注意的是,从GCC 4.7的发布版本开始,Boost高于1.48(Boost_1_48_0仍然不能正常工作),线程再次运行。
答案 1 :(得分:8)
见Joachim上面提到的票6165:
要定义'线程'支持,
_GLIBCXX__PTHREADS
_GLIBCXX_HAS_GTHREADS
。
另一个可能阻止Boost使用现代编译器的问题是故障6940(TIME_UTC
在C11中有一个特殊的平均值,因此Boost> = 1.50使用TIME_UTC_
代替<) / p>