1

我对 C++ 相当陌生,我打算为我的 Tamagochi 游戏处理线程问题,但似乎一切都表明我应该为此获得 Boost。

所以我的问题是,我到底该如何安装它?

通过执行整个“在属性中添加路径”的事情,我找到了使用它的方法。这行得通,但是我猜如果我使用这种方式,我将无法在之后编译和发布它?

我还尝试使用来自 vertexwahn.de 的 BlueGo。但我不知道它实际上做了什么。我得到了整个“它为你编译库”的东西,但是,我该如何使用它们呢?他们应该在 VS2012 中工作而无需进一步调整,还是我仍然需要添加路径的 in 属性?

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

4

3 回答 3

6

我本来打算用线程搞砸的...

如果我对 MSDN 的阅读是正确的,那么 Visual Studio 2012 似乎支持C++ 11的新线程功能。考虑到这一点,您无需安装 Boost。您可以只使用标准标题。<thread>

于 2013-03-12T10:27:34.007 回答
3
  1. 下载提升
  2. 编译 boost(进入 boost 目录,调用 bootstrap,完成后调用 b2)
  3. 决定使用 boost 的哪一部分
  4. 将主 boost 目录添加到您的包含路径和 lib(默认情况下它处于阶段 - 只需搜索 lib 文件)目录到您的链接器路径
  5. 确保动态链接 boost 线程(如果静态链接可能会出现问题)
  6. 程序
于 2013-03-12T10:31:46.473 回答
3

必须构建一些升压模块。

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

从您解压缩的 boost 目录中:

  • 引导程序.bat
  • bjam.exe 发布调试工具集=msvc address-model=32 --build-type=complete
  • bjam.exe 发布调试工具集=msvc address-model=64 --build-type=complete

并检查您的舞台/lib 是否有 *.lib、*.dll

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

然后,将包含目录和库目录添加到您的 VS 项目中。

需要的库将被自动链接(例如,您不必告诉 VS 使用 boost 线程),boost 使用 pragma 来找出需要什么。但它不适用于 Linux。

如前所述,VS2012 已经处理线程,但 boost 远不止于此,我强烈建议将它用于您想要编码的任何内容。

使用来自 boost 的 asio,您甚至可以创建线程池:见配方

于 2013-03-12T10:34:29.337 回答