You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Cygwin中编译Boost:b2.exe无法正常运行

Boost b2.exe在Cygwin中无响应问题解决

问题描述

我执行了git clone --recursive https://github.com/boostorg/boost.git命令克隆Boost仓库,运行./bootstrap.sh后生成了./b2.exe,但执行./b2.exe --help没有任何反应。当前使用Cygwin环境,相同操作在MSYS2中可以正常运行。

以下是cygcheck ./b2.exe的输出结果:

$ cygcheck ./b2.exe
C:\work\misc\boost\boost-repo\b2.exe
  C:\cygwin64\bin\cygwin1.dll
    C:\Windows\system32\KERNEL32.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-rtlsupport-l1-1-0.dll
      C:\Windows\system32\ntdll.dll
      C:\Windows\system32\KERNELBASE.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-processthreads-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-processthreads-l1-1-1.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-heap-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-memory-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-handle-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-synch-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-synch-l1-2-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-file-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-file-l1-2-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-namedpipe-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-datetime-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-sysinfo-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-timezone-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-localization-l1-2-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-processenvironment-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-string-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-debug-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-errorhandling-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-util-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-profile-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-file-l2-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-console-l1-1-0.dll
      C:\Program Files\TortoiseGit\bin\api-ms-win-core-console-l1-2-0.dll
  C:\cygwin64\usr\local\bin\cyggcc_s-seh-1.dll
  C:\cygwin64\usr\local\bin\cygstdc++-6.dll
  C:\Windows\system32\ADVAPI32.dll
    C:\Windows\system32\msvcrt.dll
    C:\Windows\system32\SECHOST.dll
      C:\Windows\system32\RPCRT4.dll
        C:\Program Files\TortoiseGit\bin\api-ms-win-core-interlocked-l1-1-0.dll

解决方法

  • 排查DLL冲突:从cygcheck输出可见,系统优先加载了TortoiseGit目录下的系统API DLL,这会干扰Cygwin的运行环境。临时将TortoiseGit的bin目录从系统PATH中移除,重启Cygwin后再执行./b2.exe --help测试。
  • 重新生成b2:删除现有b2.exe及bootstrap生成的临时文件,重新运行bootstrap脚本并指定Cygwin的gcc工具链:
    rm -f b2.exe bootstrap.log
    ./bootstrap.sh --with-toolset=gcc
    
  • 补全Cygwin开发依赖:确保Cygwin安装了gcc-core、gcc-g++、make等基础开发包,避免因依赖缺失导致b2无法正常启动。
  • 手动编译安装b2:若bootstrap生成的b2仍有问题,可直接从Boost的build子模块单独编译:
    cd tools/build
    ./bootstrap.sh
    ./b2 install --prefix=/usr/local
    cd ../..
    b2 --help
    

内容的提问来源于stack exchange,提问作者Bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:37:49