2013-03-12 34 views
1

我对C++来说是个新手,而且我会为了我的Tamagochi游戏而乱搞线程,但是似乎所有东西都说我应该为此加入Boost。我如何使用Boost?

所以我的问题是,我怎么安装它?

我发现通过做整个“添加属性路径”的东西来使用它的方法。然而,这有效,但我猜如果我用这种方式,我不能编译和释放它后?

我也试过从vertexwahn.de使用BlueGo。 但我不知道它实际上做了什么。我得到整个“它为你编译图书馆”的东西,但是,我该如何使用它们呢? 他们应该在没有进一步调整的情况下从VS2012中工作,还是需要添加路径的属性?

我只想使用Boost的线程,然后构建项目并发送给朋友。

+3

VS2012支持'的std :: thread'你不需要提升为 – 2013-03-12 10:29:40

+0

恕我直言,你不应该尝试使用升压Windows下直到你熟练掌握C++和相关概念。特别是不要只是获得线程,而在VS2012中可用。 – enobayram 2013-03-12 10:44:08

+0

我是一名经验丰富的c#程序员,但是我目前正在学习C++作为我班的补充,我的老师希望我们至少使用2个库。 – Etarnalazure 2013-03-13 00:31:00

回答

3

必须构建一些升压模块。

对于Windows,您必须使用bjam.exe来构建您的库。 而bootstrap.bat将为你bjam.exe

从解压缩后的升压目录:

  • bootstrap.bat
  • bjam.exe版本的调试工具集= MSVC地址模式= 32 --build-键入=完全
  • bjam.exe版本的调试工具集= MSVC地址模式= 64 --build型=完全

并检查阶段/ lib中*的.lib,* .DLL

(您可能需要在两个bjam命令之间清理stage/lib目录)

然后,将include目录和库目录添加到VS项目中。

需要的库会自动链接(例如,您不必告诉VS使用boost线程),可以使用附注来找出需要的东西。但它不适用于Linux。

如前所述,VS2012已经处理线程,但boost比这更强大,我强烈建议使用它来编写任何代码。

与升压ASIO,你甚至可以使线程池:看recipe

+0

我已经得到了编译的东西,我发现stage文件夹下的所有.dll和.lib文件,但我不明白的是; 我如何确保它在库中添加以供我发布? – Etarnalazure 2013-03-12 13:48:26

+0

发布和调试库具有不同的名称。当你编译发布时,boost会自动为VS提供良好的库名称。如果你真的想检查它,你可以在生成的应用程序或库上始终使用[dependency walker](http://www.dependencywalker.com/) – Cyrille 2013-03-12 15:41:34

6

我要惹线程周围...

如果我的MSDN的解读是正确的,的Visual Studio 2012似乎支持的C++ 11threading features。考虑到这一点,你不需要安装Boost。您可以使用标准的<thread>标题。

+0

'',''和''也可能有用。 – juanchopanza 2013-03-12 10:55:01

+0

我知道theres线程,但库尔登似乎找到任何好的文档,所以我想我会尝试提高。感谢指针。 – Etarnalazure 2013-03-12 13:46:43

3
  1. 下载升压
  2. 编译提升(进入升压目录,呼叫 引导和该过程完成后调用B2)
  3. 决定使用
  4. 添加主升压目录中可提升的一部分您的包含路径和lib(默认情况下它处于舞台 - 仅搜索lib文件)目录到您的链接器路径
  5. 请确保您动态链接boost线程(如果静态链接,可能会出现问题)
  6. 程序
+0

但是用这种方法,当我编译发布代码时,是否会添加库? – Etarnalazure 2013-03-12 13:45:34

+0

这取决于您在发布配置中的设置。但是,当然,如果您将其添加到发布配置(包括&lib路径),它将被添加到代码中。当然,它不像仅h-library,静态库和动态库的区别那么简单。简而言之 - 仅h和静态链接将在您的二进制文件中,dll将保持独立。 – 2013-03-17 11:17:05

相关问题