2016-05-27 151 views
0

我无法安装Boost的最新版本,即1.61。我所做的就是从升压根文件夹中Windows 7提示命令运行“bootstrap.bat”,但错误信息说:升压安装失败:系统找不到指定的路径

Building Boost.Build engine The system cannot find the path specified.

Failed to build Boost.Build engine. Please consult bootstrap.log for further diagnostics.

任何帮助表示赞赏!

+1

“请咨询bootstrap.log进一步诊断。” - 你做到了吗?日志说什么? –

+0

它说“错误:无法确定VS安装的位置”。 VS12安装在“C:\ Program Files文件(x86)\ Microsoft Visual Studio 12.0” – fqx

+1

你是否真的从“Visual Studio”命令提示符运行它,或者你是否正确配置了环境(例如,通过运行诸如'call “%VS120COMNTOOLS%.. \ .. \ VC \ vcvarsall.bat”x86')? –

回答

0

我相信这不是Boost C++ Libraries或Boost.Build的问题,而是VS安装的问题。这个错误来自vcvars64.bat:

@call "%VS120COMNTOOLS%VCVarsQueryRegistry.bat" No32bit 64bit 
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR 
... 
:error_no_VSINSTALLDIR 
@echo ERROR: Cannot determine the location of the VS installation. 

凡VCVarsQueryRegistry.bat脚本做类似

@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "12.0"') DO (
    @if "%%i"=="12.0" (
     @SET "VSINSTALLDIR=%%k" 
    ) 
) 

什么是您的注册表有,同时根据HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7?无论如何,这听起来像是不完整的VS安装。

+0

这可能是一个缺失的系统环境变量? – Minzkraut

+0

这不太可能,我看到的脚本专门查看注册表 - 然后*设置环境变量。 –

+0

@VladimirPrus谢谢。我检查了我的注册表,并在HKLM \ SOFTWARE \ Microsoft \ VisualStudio \ SxS \ VS7下找到了名称为12.0的密钥,它错误地指定了VS12的地址,即将它指向C:\ Program Files \ Microsoft Visual Studio 12.0 \ C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \。但是我没有找到HKCU \ SOFTWARE \ Microsoft \ VisualStudio \ SxS \ VS7。在此之后,我从Boost root运行bootstrap.bat,并得到了错误信息“系统找不到指定的路径,'。\ build.bat'不被识别为内部或外部命令,可操作程序或批处理文件。”任何想法? Thx – fqx

0

如果你从git获得提升,请确保你已经检出任何相关的子模块。在我的情况下,缺少的是一个工具/构建,这是我得到了通过:

git submodule update --init -- "tools/build"

如果你不知道你需要什么,你也可以只加载的一切

git submodule update --init --recursive

相关问题