提高编译和运行 Firebreath 的奇怪失败

Gab*_*mel 4 boost firebreath

我今天在 Firebreath 中发现了一个非常奇怪的错误。我试图编译我的项目,make在我的构建目录上做一个。我得到了很多错误的巨大输出。我尝试从头开始运行一个新项目,但出现以下错误:

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
Run Code Online (Sandbox Code Playgroud)

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

#include <boost/thread.hpp>

int main(int argc, char *argv[]) {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

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

任何的想法?

Gab*_*mel 5

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

  1. 应用这个补丁我libstdcpp3.hpp位于文件src/3rdParty/boost/boost/config/stdlib
  2. 删除我的构建目录并重新运行prepmake.sh.

再次感谢@taxilian 提供快速而有用的答案。