如何正确安装提升

时间:2016-09-27 10:54:05

标签: c++ windows boost

我已下载boost_1_61_0并解压缩。 我使用bootstrap.bat生成b2.exebjam.exe,并在名为" stage"的文件夹中成功构建了库。适用于x64win32

我有包含包含文件的.libboost个文件夹。

当我删除根文件夹时,我无法构建我的程序。 为什么我无法构建代码?

我用bs作为:

b2 -j8 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64 install

它创建包含libs和头文件的C:\boost。但是当我尝试在项目中使用这个新文件夹时,我收到错误:couldn't find eg: boost/reg.hpp

构建它后是否有正确的方法来安装boost?

2 个答案:

答案 0 :(得分:0)

boost包含在您创建的名为c:\ boost的文件夹中。所以路径是c:\ boost \ boost,因为看起来你已经找到了。

但更好的是使用环境变量。 您将在控制面板下找到它们> “系统”>高级> ...

BOOST_ROOT设置为c:\ boost和BOOST_LIB到您的舞台路径。我将所有版本v100,v140 x86和64位保留在同一个文件夹中。然后在您的项目中,您可以将$(BOOST_ROOT)和lib目录的其他包含目录设置为$(BOOST_LIB)

这会带来很多好处,例如当6.62出现时你可以将它放在c:\ boost_62中并更改你的环境变量然后你所有的项目都在使用新的boost。你不必陷入c:\ boost。如果你与其他拥有不同路径的人分享这个项目,它就可以了。

BOOST_ROOT看起来很普遍,我不知道BOOST_LIB

此外,如果更改环境变量,则必须关闭Visual Studio并重新打开它才能使更改生效。

答案 1 :(得分:0)

大家好我明白了:

1-提取boost_1_61_0例如C:所以新文件夹名为" C:\ boost_1_61_0"

2-来自命令提示符或visual studio 2015-> Visual Studio工具 - > ms2015的开发人员命令提示符(以管理员身份运行)

3- cd C:\ boost_1_61_0

4- bootstrap.bat

创建新文件:根文件夹中的b2.exe和bjam.exe。 现在我们构建了x64版本的boost库:

5- b2 -j8 toolset = msvc-14.0 address-model = 64 architecture = x86 link = static threading = multi runtime-link = shared --build-type = minimal stage --stagedir = stage / x64

  • 新文件夹" Stage"在根文件夹中创建,在这个文件夹里面有一个名为x64的文件夹,里面有一个文件夹" lib" (.lib文件)。这个过程需要几分钟(约20分钟)

  • 完成后,系统会显示一条消息告诉您,boost_1_61_0会跳过某些目标,不要因为它属于其他操作系统而无所事事

现在我们构建x86版本:

b2 -j8 toolset = msvc-14.0 address-model = 32 architecture = x86 link = static threading = multi runtime-link = shared --build-type = minimal stage --stagedir = stage / win32

  • 等到它完成。 现在我们有两个版本的x64和win32但根文件夹太大了大约5.3千兆字节。

现在我们将这两个库安装到" C:\ Boost"然后删除文件夹" C:\ boost_1_61_0":

b2 -j8 toolset = msvc-14.0 address-model = 64 architecture = x86 link = static threading = multi runtime-link = shared --build-type = minimal stage --stagedir = C:\ Boost \ x64 install < / p>

  • 我添加安装并将文件夹的名称从舞台更改为&#34; C:\ Boost \ X64&#34; 当它完成一个新的文件夹&#34; C:\ Boost&#34;创建它包含include文件夹和包含lib文件的x64文件夹。

现在我们安装win32版本: b2 -j8 toolset = msvc-14.0 address-model = 32 architecture = x86 link = static threading = multi runtime-link = shared --build-type = minimal stage --stagedir = C:\ Boost \ win32 install

  • 完成后删除名为lib的文件夹:C:\ Boost \
  • 清理和释放记忆的时间:
  • 删除孔文件夹:C:\ Boost_1_61_0因为我们不再需要它

**如何为我的项目添加提升?:

打开Msvc2015-&gt;创建c ++控制台新项目,当它创建时转到Project-&gt; &#34; MyBoostProject&#39; S&#34; properties-&gt; C / C ++ - &gt; General-&gt;其他包含目录 - &gt; edit-&gt; new folder-&gt; C:\ Boost \ include-&gt; boost_1_61 使用路径添加另一个文件夹:C:\ Boost \ include-&gt; Boost_1_61_0-&gt; Boost

现在包含文件准备好了。

**如何链接?:

如果我的项目是x86: 转到:链接器 - &gt;常规 - &gt;其他库目录 - &gt;编辑 - &gt;添加新文件夹 - &gt; C:\ Boost \ win32 \ Lib

如果我的项目是x64:

linker-&gt;其他库目录 - &gt; edit-&gt;添加新文件夹 - &gt; C:\ Boost \ x64 \ Lib

我希望这篇文章对那些无法安装它的人有用。