首页 > 解决方案 > 如何安装/应用 C++ 补丁?

问题描述

我正在尝试在我的计算机上编译一个旧的遗留项目。我被困住#error "Threading support unavailable: it has been explicitly disabled with BOOST_DISABLE_THREADS并偶然发现了一个补丁。看到这个问题。我下载了补丁文件。

我该怎么办?我该如何安装它?将其放入指定的文件夹 (...\boost_1_48_0\boost\config\stdlib) 没有帮助。

我正在使用 boost 1.48;Windows 10 上的 CodeBlocks IDE 和 cygwin。

补丁看起来像这样:

Index: boost/config/stdlib/libstdcpp3.hpp
===================================================================
--- boost/config/stdlib/libstdcpp3.hpp  (revision 75635)
+++ boost/config/stdlib/libstdcpp3.hpp  (working copy)
@@ -33,7 +33,8 @@
 
 #ifdef __GLIBCXX__ // gcc 3.4 and greater:
 #  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
-        || defined(_GLIBCXX__PTHREADS)
+        || defined(_GLIBCXX__PTHREADS) \
+        || defined(_GLIBCXX_HAS_GTHREADS)
       //
       // If the std lib has thread support turned on, then turn it on in Boost
       // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT

标签: c++boostpatch

解决方案


假设您将补丁放在 boost_1_48_0/threads.patch 下,您应该可以使用

cd ...\boost_1_48_0
patch -p0 < threads.patch

之后您可以删除补丁文件。


推荐阅读