关于如何在Visual Studio的空项目中使用Boost库的一步一步的解释是什么?


当前回答

还有一个小提示:如果你想减少编译时间,你可以添加标志

j2

同时运行两个并行构建。这可能会减少到看一部电影;)

其他回答

您还可以尝试-j%NUMBER_OF_PROCESSORS%作为参数,它将使用所有的内核。让我的四核速度超快。

虽然Boost网站上的说明很有帮助,但这里有一个简化版本,也可以构建x64库。

只有在使用说明页第3节中提到的其中一个库时才需要这样做。(例如,使用Boost。文件系统需要编译。)如果您不使用其中任何一个,只需解压缩并运行。

构建32位库

这将安装C:\Boost\include\ Boost -(version)下的Boost头文件,以及C:\Boost\lib\i386下的32位库。请注意,库的默认位置是C:\Boost\lib,但如果您计划为多个体系结构构建,则需要将它们放在i386目录下。

解压缩Boost到一个新目录。 启动32位MSVC命令提示符,并切换到解压缩Boost的目录。 运行:引导 运行命令:b2 toolset=msvc-12.0——build-type=complete——libdir=C:\Boost\lib\i386 install 对于Visual Studio 2012,请使用toolset=msvc-11.0 对于Visual Studio 2010,使用toolset=msvc-10.0 对于Visual Studio 2017,使用toolset=msvc-14.1 将C:\Boost\include\ Boost -(version)添加到include路径中。 将C:\Boost\lib\i386添加到libs路径。

构建64位库

这将安装C:\Boost\include\ Boost -(version)下的Boost头文件,以及C:\Boost\lib\x64下的64位库。请注意,库的默认位置是C:\Boost\lib,但如果您计划为多个体系结构构建,则需要将它们放在x64目录下。

解压缩Boost到一个新目录。 启动64位MSVC命令提示符,并切换到解压缩Boost的目录。 运行:引导 运行命令:b2 toolset=msvc-12.0——build-type=complete——libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install 对于Visual Studio 2012,请使用toolset=msvc-11.0 对于Visual Studio 2010,使用toolset=msvc-10.0 将C:\Boost\include\ Boost -(version)添加到include路径中。 将C:\Boost\lib\x64添加到libs路径中。

下面是我使用Boost的方法:

下载并解压zip版本的Boost库。 运行bootstrap.bat文件,然后运行bjam.exe。 等待大约30分钟左右。 在Visual Studio中创建一个新项目。 转到项目——>属性——>连接器——>通用——>附加库目录,并将boost/stage/lib目录添加到其中。 转到项目——>属性——>C/ c++——>通用——>附加包括目录并添加boost目录。

您将能够毫无错误地构建您的项目!

一个简单的例子,让你开始在Visual Studio:

1.从这里下载并解压Boost。

2.创建一个Visual Studio空项目,使用一个不需要单独编译的示例boost库:

#include <iostream>
#include <boost/format.hpp>

using namespace std;  
using namespace boost;  

int main()  
{  
    unsigned int arr[5] = { 0x05, 0x04, 0xAA, 0x0F, 0x0D };  

    cout << format("%02X-%02X-%02X-%02X-%02X")  
            % arr[0]  
            % arr[1]  
            % arr[2]  
            % arr[3]  
            % arr[4]  
         << endl;  
}  

3.在Visual Studio项目属性中设置附加包含目录:

举个简单的例子:

如何在Visual Studio中安装Boost库

如果你不想使用整个boost库,只使用一个子集:

使用Windows中的boost库的子集

如果你现在特别想了解需要编译的库:

如何在Windows中使用Boost编译库

我可以推荐以下技巧:创造一种特殊的刺激。道具文件

打开物业管理 右键单击项目节点,选择“添加新项目属性表”。 选择一个位置并命名您的属性表(例如:c:\mystuff\boost.props) 将附加的Include和Lib文件夹修改为搜索路径。

此过程的价值是仅在希望显式包含boost的项目中包含它。当你有一个使用boost的新项目时,请:

打开物业管理器。 右键单击项目节点,并选择“添加现有属性表”。 选择boost属性表。

编辑(以下编辑来自@jim-fred):

由此产生的推动力。道具文件看起来像这样…

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <BOOST_DIR>D:\boost_1_53_0\</BOOST_DIR>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(BOOST_DIR);$(IncludePath)</IncludePath>
    <LibraryPath>$(BOOST_DIR)stage\lib\;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
</Project>

它包含一个用于boost目录位置的用户宏(在本例中为D:\boost_1_53_0)和另外两个参数:IncludePath和LibraryPath。语句#include <boost/thread.hpp>将在适当的目录中找到thread.hpp(在本例中为D:\boost_1_53_0\boost\thread.hpp)。'stage\lib\'目录可能会根据安装到的目录而改变。

这提振。props文件可以位于D:\boost_1_53_0\目录中。