首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用MSVC 11进行Boost编译(VS 2012)

使用MSVC 11进行Boost编译(VS 2012)
EN

Stack Overflow用户
提问于 2011-11-21 05:12:17
回答 6查看 36.1K关注 0票数 27

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

代码语言:javascript
复制
ERROR: Cannot determine the location of the VS Common Tools folder.

编辑: Ferruccio answer适用于VS 2012 Express和Boost 1.51.0。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-11-22 07:44:45

通过以下步骤,我成功地构建了它:

  1. 打开Visual Studio命令提示符。从开始菜单中选择:所有程序|Microsoft Visual Studio11|本机x64命令提示符。
  2. 解压缩boost_1_48_0.zip并将工作目录设置为Microsoft bjam.exe

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

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

票数 32
EN

Stack Overflow用户

发布于 2013-05-28 21:33:16

这个答案适用于:

  • VS2012 (Visual Studio 2012更新2)
    • VS2015 (Visual Studio 2015更新2)

  • Windows 7 x64
    • 或Windows 10 x64

  • Boost v1.53
    • 或Boost

简而言之,

  1. 打开Visual Studio2012命令提示符。从开始菜单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任何新的C++项目,包含Boost库的路径,如下面的屏幕截图所示。

(可选)分步说明

  1. 安装Visual Studio命令更新2.使用管理员权限在"C:\boost153"
  2. Open中下载
    1. 命令提示符。在开始菜单中,使用cd c:\boost153.
    2. Run bootstrap.bat.
    3. Run bjam.exe将其All Programs..Microsoft Visual Studio 2012..Visual Studio Tools..x64 Native Tools Command Prompt.
    4. Change转到boost目录。这将构建所有的libraries.
    5. There可能会出现一些警告,但您可以忽略这些警告。
    6. 在大约5分钟后完成编译时,它会声明:

Boost C++库已成功构建!以下目录应添加到编译器包括路径:C:/ project.

  • Create 153以下目录应添加到链接器库路径: C:\boost153\stage\lib

  • This很重要,我们将需要添加这两个路径到任何新的C++ project.

  • Create一个新的C++项目。

  • 正如几个步骤之前提到的,将C:/boost153添加到compiler include path,将C:\boost153\stage\lib添加到linker library path

  • 右键单击项目,选择Properties,然后选择Configuration Properties..VC++ Directories。参见下面屏幕截图中的两部分粗体文本):

  1. 让我们运行一个简单的程序,通过添加对foreach循环的支持来展示boost的强大功能:

//下面的源代码复制自: // 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( " hello,world!”);BOOST_FOREACH( char ch,hello){ std::cout << ch;} _getch();return 0;}

  • Result:

你好,世界!

更多答案

更新2016-05-05

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

票数 39
EN

Stack Overflow用户

发布于 2013-12-01 11:29:44

bootstrap.bat

bjam.exe --工具集=msvc-11

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8204758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档