如何在Windows 7上使用VS安装Boost

6
我整天都在尝试在Windows 7上将Boost与Visual Studio(2008)集成。首先,我两次阅读了这篇文章:How to use Boost in Visual Studio 2010
我搜索了所有相关主题,并且没有一个能够解决问题。有些人建议使用此链接:www.boostpro.com/download/,但链接无效。有人建议将运行时库更改为Multi-threaded DLL,但也没用。
我仅仅尝试了包含#include <boost/thread.hpp>并出现了以下错误:
致命错误 LNK1104:无法打开文件“libboost_thread-vc90-mt-s-1_53.lib”。
在安装Boost之前,出现了找不到thread.hpp的错误,因此似乎已正确安装Boost。
问题在于,在使用教程时未构建库。如何手动构建它们呢?
4个回答

3

并没有所谓的一键式安装,您仍需要手动操作。在您的情况下,似乎需要编译Boost.Thread库,然后将生成的.lib文件所在目录添加到您的库路径中。您提供的链接看起来很不错。如果您按照它的指导进行操作,可能已经构建了Boost.Thread。请确保您完成了第二部分中的第6步。


是的,目录已经正确包含了(如果没有它们,错误就是找不到thread.hpp)。 - rank1
@SebastianCygert:请小心,这是一个不同的目录,用于存储库文件,而不是包含文件。 - Andriy Tylychko
@SebastianCygert:请仔细检查文件 libboost_thread-vc90-mt-s-1_53.lib 是否在包含在您的库目录列表中的目录中。 - Andriy Tylychko
不,我在那里(甚至任何地方)找不到这个文件。另一个问题是:当包含目录指向整个Boost目录时,问题就像主题中所述(找不到.lib文件),但是当该目录指向boost/include时,就像在此主题https://dev59.com/b3E85IYBdhLWcg3wwWQb中一样,错误是找不到thread.hpp文件。 - rank1
@SebastianCygert:附加包含路径是VC查找您的包含文件的路径。首先,VC需要包含您的文件以编译程序。这就是为什么当您将错误的目录添加到附加包含路径时会收到“无法找到.hpp”错误的原因。如果成功编译,则VC尝试链接您的程序,现在它需要boost lib,在此之前您必须编译它。它找不到它,就像你一样。因此,请确保您首先成功编译了Boost.Thread。很抱歉我不能再帮助您了。一个免费的建议-忘记Boost,先学习基本的C++知识。 - Andriy Tylychko
显示剩余4条评论

2

1

1
我发现这篇文章非常有帮助:

http://www.codeproject.com/Articles/11597/Building-Boost-libraries-for-Visual-Studio

  • 本文介绍如何构建构建工具BJam(主要是通过定位boostrapper.bat文件)。
  • 如何构建库,例如:bjam toolset=msvc-11.0 variant=debug threading=multi link=static(在这种情况下为VS2012多线程、静态链接的调试版本)。
  • 它还提供了构建批处理,但我没有尝试过。
  • 它还有一些关于如何指定所使用C运行时的额外信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接