关于如何在Visual Studio的空项目中使用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编译库
其他回答
你需要Boost的哪些部分?很多东西都是TR1的一部分,它是随Visual Studio一起发布的,所以你可以简单地说,例如:
#include <tr1/memory>
using std::tr1::shared_ptr;
根据James的说法,这也应该工作(在c++ 0x中):
#include <memory>
using std::shared_ptr;
下面是我使用Boost的方法:
下载并解压zip版本的Boost库。 运行bootstrap.bat文件,然后运行bjam.exe。 等待大约30分钟左右。 在Visual Studio中创建一个新项目。 转到项目——>属性——>连接器——>通用——>附加库目录,并将boost/stage/lib目录添加到其中。 转到项目——>属性——>C/ c++——>通用——>附加包括目录并添加boost目录。
您将能够毫无错误地构建您的项目!
此外,还有一些东西我觉得很有用。为您的提升路径使用环境变量。(如何在窗口中设置环境变量,链接在底部7,8,10)BOOST_ROOT变量似乎是常见的地方了,它被设置为解压boost的根路径。
然后在属性,c++,通用,附加包含目录使用$(BOOST_ROOT)。然后,如果/当您移动到boost库的新版本时,您可以更新环境变量以指向这个新版本。随着你的项目越来越多,使用boost,你将不必为所有的项目更新“附加包含目录”。
您还可以创建一个BOOST_LIB变量,并将其指向库暂存的位置。同样地,对于链接器->附加库目录,您不必更新项目。我有一些旧的东西用vs10和vs14建立了新的东西,所以建立了两个口味的boost lib到同一个文件夹。所以如果我把一个项目从vs10移动到vs14,我不需要改变提升路径。
注意:如果你改变了一个环境变量,它不会突然在一个开放VS项目中工作。VS在启动时加载变量。所以你需要关闭VS然后重新打开它。
还有一个小提示:如果你想减少编译时间,你可以添加标志
j2
同时运行两个并行构建。这可能会减少到看一部电影;)
一个简单的例子,让你开始在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编译库