找不到 "vswhere"

could not find "vswhere"

我正在尝试正确安装 运行 PyGMO 的 boost。但是,我把它解压到一个目录后(没有使用git)。

在 运行ning bootstrap vc142 之后(我正在使用 VScode V1.63.2 并且我在 windows 上)。我收到此错误:

Building Boost.Build engine
LOCALAPPDATA=C:\Users\wojci\AppData\Local
could not find "vswhere"
Call_If_Exists "..\bin\VCVARS32.BAT"
###
### Using 'msvc' toolset.
###

其次是:

C:\Program Files\boost\boost_1_78_0\tools\build\src\engine>dir *.exe
 Volume in drive C has no label.
C:\Program Files\boost\boost_1_78_0\tools\build\src\engine>copy /b .\b2.exe .\bjam.exe
The system cannot find the file specified.

Failed to build Boost.Build engine.

有人知道如何fix/work解决这个问题吗?

提前致谢

我找到了解决方案 here (git)

先决条件:

  1. 首先下载并安装 MinGW 安装程序 mingw-w64-install.exe(我从 Sourceforge 找到它)并确保使用 x86_64 架构。

  2. 然后下载boost文件(boost_1_78_0.zip来源)

  3. 以管理员身份打开并运行cmd

  4. 在C:\

    中的MinFW文件夹中输入以下命令link
mklink /J C:\MinGW "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64"
  1. 将 MinGW 添加到系统路径:
set PATH=%PATH%;C:\MinGW\bin
setx /M PATH "%PATH%"
  1. 检查你是否至少有 8.1.0 的 g++ 版本
g++ --version

安装boost的方法:

  1. 导航到创建的安装文件夹并解压缩 boost_1_78_0.zip 文件并将其提取到此文件夹中
  2. 在 CMD 中导航到 boost 文件夹
cd C:\install\boost_1_78_0
  1. 键入以下内容以创建用于构建和安装 boost 的目录
mkdir C:\boost-build
mkdir C:\install\boost_1_78_0\boost-build
mkdir C:\boost
  1. 设置boost.build(第二行准备b2,第三行用b2构建boost.build,第四行添加C:\boost-build\bin到你的session PATH变量)
cd C:\install\boost_1_78_0\tools\build
bootstrap.bat gcc
b2 --prefix="C:\boost-build" install
set PATH=%PATH%;C:\boost-build\bin
  1. 构建 boost(第一行导航到 boost 目录,第二行使用 b2 构建 boost 这可能需要一段时间)
cd C:\install\boost_1_78_0
b2 --build-dir="C:\install\boost_1_78_0\build" --build-type=complete --prefix="C:\boost" toolset=gcc install

补充说明:

这也适用于 boost 1.68.0,可能适用于其他版本,只需将 1_78_0 替换为 1_68_0。

最后你应该有如下三行:

...failed updating 72 targets...
...skipped 292 targets...
...updated 22164 targets...

如果您有一些失败和跳过的文件,那完全没问题。