使用 MSVC 11 (VS 2012) 进行增强编译

发布于 2024-12-17 06:31:35 字数 658 浏览 0 评论 0原文

如何构建Boost(我尝试了版本1.48.0) 与 Visual Studio C++ 11? bootstrap.bat 找不到工具集 vc11。我将工具集 vc11 添加到 F:\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 也是如此。

How to build Boost (I tried version 1.48.0) with Visual Studio C++ 11? bootstrap.bat cannot find toolset vc11. I added toolset vc11 to F:\Programming\boost_1_48_0\tools\build\v2\engine\build.bat but got a message:

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

EDIT: The Ferruccio answer works for VS 2012 Express and Boost 1.51.0 too.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

小红帽 2024-12-24 06:31:35

这个答案非常适合:

  • VS2012(Visual Studio 2012 Update 2)
    • VS2015(Visual Studio 2015 更新 2)
  • Windows 7 x64
    • 或 Windows 10 x64
  • Boost v1.53
    • 或 Boost v1.60

简而言之

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

(可选)分步说明

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

    Boost C++ 库已成功构建!
    应将以下目录添加到编译器包含路径中:
       C:/ boost153
    应将以下目录添加到链接器库路径中:
       C:\boost153\stage\lib
    
  11. 这很重要,我们需要将这两个路径添加到任何新的 C++ 项目中。

  12. 创建一个新的 C++ 项目。
  13. 如前几个步骤所述,将 C:/boost153 添加到 compiler include path 并将 C:\boost153\stage\lib 添加到链接器库路径
  14. 右键单击该项目,选择属性,选择配置属性..VC++ 目录。请参阅下面屏幕截图中粗体文本的两部分):
    在此处输入图像描述
  15. 让我们运行一个简单的程序,通过添加对 foreach 循环:

    // 下面的源代码复制自:   
    // http://www.boost.org/doc/libs/1_53_0/doc/html/foreach.html
    #include“stdafx.h”
    
    #include <字符串>
    #include ;
    #include ; // 支持_getch()
    #include ;
    
    int main()
    {
        std::string hello( "你好,世界!" );
    
        BOOST_FOREACH( 字符 ch, 你好 )
        {
            std::cout << ch;
        }
    
        _getch();
        返回0;
    }
    
  16. 结果:

    你好,世界!
    

更多答案

更新 2016-05-05

使用 Win10 x64 + VS2015.2 + Boost v1.6.0 检查。

This answer works beautifully for:

  • VS2012 (Visual Studio 2012 Update 2)
    • or VS2015 (Visual Studio 2015 Update 2)
  • Windows 7 x64
    • or Windows 10 x64
  • Boost v1.53
    • or Boost v1.60

In a nutshell

  1. Open a Visual Studio 2012 command prompt. From the start menu its: All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  2. Unzip boost_1_53_0.zip to C:\boost153.
  3. run bootstrap.bat
  4. run bjam.exe
  5. In any new C++ project, include the path to the Boost libraries, as per the screenshot below.

(optional) Step-by-Step Instructions

  1. Install Visual Studio 2012.
  2. Install Update 2.
  3. Download Boost from SourceForge.
  4. Unzip into "C:\boost153"
  5. Open a Visual Studio Command prompt with Administrator privileges. From the start menu, its All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
  6. Change to the boost directory with cd c:\boost153.
  7. Run bootstrap.bat.
  8. Run bjam.exe. This builds all of the libraries.
  9. There may be some warnings, but you can ignore these.
  10. When it has finished compiling after about 5 minutes, it states:

    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. This is important, we will need to add these two paths to any new C++ project.

  12. Create a new C++ project.
  13. As noted a couple of steps ago, add C:/boost153 to the compiler include path and C:\boost153\stage\lib to the linker library path.
  14. Right click on the project, select Properties, select Configuration Properties..VC++ Directories. See the two portions of bolded text in the screenshot below):
    enter image description here
  15. Let's run a simple program that shows off the power of boost, by adding support for foreach loops:

    // 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. Result:

    Hello, world!
    

More Answers

Update 2016-05-05

Checked with Win10 x64 + VS2015.2 + Boost v1.6.0.

薄情伤 2024-12-24 06:31:35

我设法按照以下步骤构建它:

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

它确实会生成很多关于无法检测工具包版本的警告,但无论如何它都会继续。

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

I managed to get it to build by following these steps:

  1. Open a Visual Studio command prompt. From the start menu it's: All Programs|Microsoft Visual Studio 11|Native x64 Command Prompt.
  2. Unzip boost_1_48_0.zip and set the working directory to boost_1_48_0
  3. run bootstrap.bat
  4. run bjam.exe

It does generate a lot of warnings about not being able to detect the toolkit version, but it proceeds anyway.

Update: I created GitHub repo called cclibs which makes it simpler to build Boost and some other C++ libraries.

演多会厌 2024-12-24 06:31:35

bootstrap.bat

bjam.exe --toolset=msvc-11

bootstrap.bat

bjam.exe --toolset=msvc-11

苹果你个爱泡泡 2024-12-24 06:31:35

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

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

不要错过他的后续帖子涉及自动链接。

Check that your installation is correct by confirming the output of the following command:

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

Here's some simple instructions to follow to get rid of warnings when bootstrapping: http://landoftheninja.blogspot.com/2011/11/visual-c-11-and-boost.html

Don't miss his follow-up post that deals with the automatic linking.

做个少女永远怀春 2024-12-24 06:31:35

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

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

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

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

vcvarsall.bat need call a "reg.exe" which in "C:\windows\system32\".
if not in search path,will cause this error.

Add C:\windows\system32 to %PATH% will solved the problem.

妄断弥空 2024-12-24 06:31:35

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

In addition to above answers, I find BlueGo really helpful for building boost versions with MSVC 10/11/12. You can select different configurations and just select build, and it does the trick.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文