【问题标题】:How to install/apply C++ patch?如何安装/应用 C++ 补丁?
【发布时间】:2020-11-04 07:58:26
【问题描述】:

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

我应该用它做什么?我该如何安装它?将其放入指定文件夹 (...\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

【问题讨论】:

  • 也许不要禁用它?另外,也许升级Boost?或者,您真的只是在问如何应用补丁?您的问题有点开放式,您需要做的是更改软件以使其编译。从您提供的少量信息中无法判断如何做到这一点。
  • @john 啊好的,我要编辑原始文件。
  • @UlrichEckhardt 是的,我在问如何应用补丁。我不熟悉 C++ 编程。我第一次尝试使用更新的软件,但效果不佳,所以我现在尝试为项目提供与我的前任在 2012 年构建它时相同的设置......

标签: c++ boost patch


【解决方案1】:

假设你把补丁放在 boost_1_48_0/threads.patch 下,你应该可以用

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多