2012-04-04 44 views
3

今天我发现了Firebreath的一个非常奇怪的错误。我试图编译我的项目,在我的build目录上执行make。我有一个huge output有很多错误。我尝试运行从从头开始一个新项目,我得到了这些错误:用Firebreath提升奇怪的错误

[email protected] ~/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; 
} 

编译为:g++ test.cpp -pthread -lboost_thread

有什么想法?先谢谢了。

回答

4

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

  1. 应用this补丁位于src/3rdParty/boost/boost/config/stdliblibstdcpp3.hpp文件。
  2. 删除我的编译目录并重新运行prepmake.sh

感谢@taxilian的快速和有用的答案。

2

尝试删除您的构建目录并重新运行prepmake.sh;鉴于有多少人在使用FireBreath时没有遇到这个问题,我只能猜测它并不是一个真正的Firebreath错误,所以最有可能的错误是build /目录中的某些东西被破坏。