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


当前回答

此外,还有一些东西我觉得很有用。为您的提升路径使用环境变量。(如何在窗口中设置环境变量,链接在底部7,8,10)BOOST_ROOT变量似乎是常见的地方了,它被设置为解压boost的根路径。

然后在属性,c++,通用,附加包含目录使用$(BOOST_ROOT)。然后,如果/当您移动到boost库的新版本时,您可以更新环境变量以指向这个新版本。随着你的项目越来越多,使用boost,你将不必为所有的项目更新“附加包含目录”。

您还可以创建一个BOOST_LIB变量,并将其指向库暂存的位置。同样地,对于链接器->附加库目录,您不必更新项目。我有一些旧的东西用vs10和vs14建立了新的东西,所以建立了两个口味的boost lib到同一个文件夹。所以如果我把一个项目从vs10移动到vs14,我不需要改变提升路径。

注意:如果你改变了一个环境变量,它不会突然在一个开放VS项目中工作。VS在启动时加载变量。所以你需要关闭VS然后重新打开它。

其他回答

这里的Windows安装程序非常适合我。我采取了以下步骤:

Follow the installation wizard until finished. Run visual studio. Create a new C++ project Open project properties (can be found by right-clicking the project name in the solution explorer) Under "C/C++ > General > Additional Include Directories" add the path where boost root directory. Default for my version was C:\local\boost_1_63_0. The number after "boost" is the version of boost. In project properties, under "Linker > Additional Library Directories" add the directory for library files. Default for my version was C:\local\boost_1_63_0\lib64-msvc-14.0. The number after "lib" is related to the build target (32 bit or 64 bit in Visual Studio) and the number after "msvc" is related to the version of Visual Studio (14.0 is related to Visual Studio 2015, but I'm using it with the 2017 Visual Studio).

好运!

下面是我使用Boost的方法:

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

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

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

j2

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

这篇文章已经有一段时间了,我想我应该添加一些关于如何在特定的硬件上尽可能快地构建Boost的内容。

如果你有4核或6核,分别使用-j5或-j7。当然不是标准版本,也不是-j2,除非你确实有双核。

我在我的主站上运行了一个3930K(6核)库存的Sandy Bridge Extreme,但在旧的备份盒上有一个2600k(4核),趋势是我用N + 1构建进程获得了最佳的Boost编译时间,其中N是物理内核的数量。N+2达到收益递减点,时间增加。

注:超线程启用,32GB内存DDR3,三星840 EVO SSD。

-j7在6核(2分51秒)(Win7终极x64)(Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j7 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 2
Seconds           : 51
Milliseconds      : 128
Ticks             : 1711281830
TotalDays         : 0.0019806502662037
TotalHours        : 0.0475356063888889
TotalMinutes      : 2.85213638333333
TotalSeconds      : 171.128183
TotalMilliseconds : 171128.183

-j6在6核(3分2秒)(Win7终极x64)(Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j6 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 2
Milliseconds      : 809
Ticks             : 1828093904
TotalDays         : 0.00211584942592593
TotalHours        : 0.0507803862222222
TotalMinutes      : 3.04682317333333
TotalSeconds      : 182.8093904
TotalMilliseconds : 182809.3904

-j8在6核(3分17秒)(Win7终极x64)(Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j8 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 17
Milliseconds      : 652
Ticks             : 1976523915
TotalDays         : 0.00228764342013889
TotalHours        : 0.0549034420833333
TotalMinutes      : 3.294206525
TotalSeconds      : 197.6523915
TotalMilliseconds : 197652.3915

配置

Building the Boost C++ Libraries.


Performing configuration checks

    - 32-bit                   : yes (cached)
    - arm                      : no  (cached)
    - mips1                    : no  (cached)
    - power                    : no  (cached)
    - sparc                    : no  (cached)
    - x86                      : yes (cached)
    - has_icu builds           : no  (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - zlib                     : no  (cached)
    - iconv (libc)             : no  (cached)
    - iconv (separate)         : no  (cached)
    - icu                      : no  (cached)
    - icu (lib64)              : no  (cached)
    - message-compiler         : yes (cached)
    - compiler-supports-ssse3  : yes (cached)
    - compiler-supports-avx2   : yes (cached)
    - gcc visibility           : no  (cached)
    - long double support      : yes (cached)
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
    - zlib                     : no  (cached)

我注意到64位构建需要更长的时间,我需要对这些进行相同的比较和更新。

在KTC非常翔实的主要回答中补充一点:

如果您正在使用免费的Visual Studio c++ 2010 Express,并设法获得了一个编译64位二进制文件的程序,现在想使用它来使用64位版本的Boost库,那么您最终可能会使用32位程序库(当然,您的情况可能有所不同,但在我的机器上这是令人遗憾的情况)。

我可以使用以下方法来修复这个问题:在上述步骤之间

启动32位MSVC命令提示符,并切换到解压缩Boost的目录。 运行:引导

我插入了一个调用“setenv”来设置环境。对于发布版本,上面的步骤变成:

启动32位MSVC命令提示符,并切换到解压缩Boost的目录。 运行:"C:\Program Files\Microsoft sdk \Windows\v7.1\Bin\setenv. "/Release /x64 . cmd 运行:引导

我在这里找到了这个信息: http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html