用Firebreath引发奇怪的错误

时间:2012-04-04 23:39:15

标签: boost firebreath

今天我发现了Firebreath的一个非常奇怪的错误。我正在尝试编译我的项目,在我的构建目录上执行make。我收到了huge output,但错误很多。我尝试从头开始运行一个新项目,我遇到了这些错误:

alucard@hell ~/Documentos/sc/build
> make
[  1%] Built target FireBreath_Cmake
[  2%] Building CXX object boost/libs/thread/CMakeFiles/boost_thread.dir/src/tss_null.cpp.o
  In file included from /home/alucard/Documentos/sc/firebreath/src/3rdParty/boost/boost/thread/detail/platform.hpp:17:0,
             from /home/alucard/Documentos/sc/firebreath/src/3rdParty/boost/boost/thread/detail/config.hpp:20,
             from /home/alucard/Documentos/sc/firebreath/src/3rdParty/boost/libs/thread/src/tss_null.cpp:7:
   /home/alucard/Documentos/sc/firebreath/src/3rdParty/boost/boost/config/requires_threads.hpp:29:4: error: #error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
  In file included from /home/alucard/Documentos/sc/firebreath/src/3rdParty/boost/boost/thread/detail/config.hpp:20:0,
             from /home/alucard/Documentos/sc/firebreath/src/3rdParty/boost/libs/thread/src/tss_null.cpp:7:
    /home/alucard/Documentos/sc/firebreath/src/3rdParty/boost/boost/thread/detail/platform.hpp:67:9: error: #error "Sorry, no boost threads are available for this platform."
make[2]:  [boost/libs/thread/CMakeFiles/boost_thread.dir/src/tss_null.cpp.o] Error 1
make[1]:  [boost/libs/thread/CMakeFiles/boost_thread.dir/all] Error 2
make:  [all] Error 2

似乎我的系统出现问题,但如果我尝试以下示例,则不会出现任何错误:

#include <boost/thread.hpp>

int main(int argc, char *argv[]) {
    return 0;
}

编译:{{1​​}}。

有什么想法吗?谢谢你提前。

2 个答案:

答案 0 :(得分:4)

要解决我的问题,我必须做两件事:

  1. 已将this补丁应用于位于libstdcpp3.hpp的{​​{1}}文件。
  2. 删除我的构建目录并重新运行src/3rdParty/boost/boost/config/stdlib
  3. 再次感谢@taxilian快速而有用的答案。

答案 1 :(得分:2)

尝试删除您的构建目录并重新运行prepmake.sh;鉴于有多少其他人在没有这个问题的情况下使用FireBreath,我只能猜测它并不是一个真正的火炬虫,所以很可能是这个bug在build /目录中有腐败的东西。