28

如何使用Visual Studio C++ 11构建Boost(我尝试了1.48.0版)?找不到工具集。我将工具集 vc11 添加到但收到一条消息:bootstrap.batvc11F:\Programming\boost_1_48_0\tools\build\v2\engine\build.bat

ERROR: Cannot determine the location of the VS Common Tools folder.

编辑: Ferruccio答案也适用于 VS 2012 Express 和 Boost 1.51.0。

4

6 回答 6

39

这个答案非常适合:

  • VS2012(Visual Studio 2012 更新 2)
    • VS2015(Visual Studio 2015 更新 2)
  • 视窗 7 x64
    • 或 Windows 10 x64
  • 升压 v1.53
    • 或升压 v1.60

简而言之

  1. 打开 Visual Studio 2012 命令提示符。从开始菜单它的:All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt
  2. 解压boost_1_53_0.zipC:\boost153.
  3. bootstrap.bat
  4. bjam.exe
  5. 在任何新的 C++ 项目中,包括 Boost 库的路径,如下面的屏幕截图所示。

(可选)分步说明

  1. 安装 Visual Studio 2012。
  2. 安装更新 2。
  3. 从 SourceForge下载Boost
  4. 解压到“C:\boost153”
  5. 使用管理员权限打开 Visual Studio 命令提示符。从开始菜单,它的All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  6. 用 . 切换到 boost 目录cd c:\boost153
  7. 运行bootstrap.bat
  8. 运行bjam.exe。这将构建所有库。
  9. 可能会有一些警告,但您可以忽略这些。
  10. 当它在大约 5 分钟后完成编译时,它指出:

    The Boost C++ Libraries were successfully built!
    The following directory should be added to compiler include paths:
       C:/boost153
    The following directory should be added to linker library paths:
       C:\boost153\stage\lib
    
  11. 这很重要,我们需要将这两条路径添加到任何新的 C++ 项目中。

  12. 创建一个新的 C++ 项目。
  13. 如前几个步骤所述,将和添加C:/boost153到.compiler include pathC:\boost153\stage\liblinker library path
  14. 右键单击项目,选择Properties,选择Configuration Properties..VC++ Directories。请参阅下面屏幕截图中的两部分粗体文本): 在此处输入图像描述
  15. 让我们运行一个简单的程序,通过添加对foreach循环的支持来展示 boost 的强大功能:

    // Source code below copied from:   
    // http://www.boost.org/doc/libs/1_53_0/doc/html/foreach.html
    #include "stdafx.h"
    
    #include <string>
    #include <iostream>
    #include <conio.h> // Supports _getch()
    #include <boost/foreach.hpp>
    
    int main()
    {
        std::string hello( "Hello, world!" );
    
        BOOST_FOREACH( char ch, hello )
        {
            std::cout << ch;
        }
    
        _getch();
        return 0;
    }
    
  16. 结果:

    Hello, world!
    

更多答案

2016-05-05 更新

Win10 x64+ VS2015.2+检查Boost v1.6.0

于 2013-05-28T13:33:15.760 回答
32

我设法通过以下步骤构建它:

  1. 打开 Visual Studio 命令提示符。从开始菜单是:所有程序|Microsoft Visual Studio 11|Native x64 命令提示符。
  2. 解压 boost_1_48_0.zip 并将工作目录设置为 boost_1_48_0
  3. 运行 bootstrap.bat
  4. 运行 bjam.exe

它确实会生成很多关于无法检测到工具包版本的警告,但它仍然会继续。

更新:我创建了名为cclibs的 GitHub 存储库,这使得构建 Boost 和其他一些 C++ 库变得更加简单。

于 2011-11-21T23:44:44.923 回答
8

引导程序.bat

bjam.exe --toolset=msvc-11

于 2013-12-01T03:29:44.240 回答
5

通过确认以下命令的输出来检查您的安装是否正确:

C:\>echo %VS110COMNTOOLS%
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\

以下是一些简单的说明,可以在引导时消除警告:http: //landoftheninja.blogspot.com/2011/11/visual-c-11-and-boost.html

不要错过他处理自动链接的后续帖子。

于 2012-03-03T03:39:17.593 回答
0

除了上述答案之外,我发现BlueGo对于使用 MSVC 10/11/12 构建增强版本确实很有帮助。您可以选择不同的配置并选择构建,它就可以了。

于 2014-08-05T13:28:15.293 回答
0

vs2012 错误:无法确定 VS Common Tools 文件夹的位置。

vcvarsall.bat 需要调用“C:\windows\system32\”中的“reg.exe”。如果不在搜索路径中,将导致此错误。

将 C:\windows\system32 添加到 %PATH% 即可解决问题。

于 2013-07-14T11:40:04.683 回答