与boost .lib链接

时间:2011-01-25 16:20:12

标签: c++ boost

我收到链接时错误fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-gd-1_44.lib'我最近下载了boost_serialization-vc80-mt-gd-1_44.lib附带的boost,但编译器似乎正在寻找一个以libboost开头的错误,所以我将其重命名。但是它在运行时找不到.dll。我试图重命名dll,但似乎没有帮助。

加载dll时:An unhandled non-continuable STATUS_DLL_NOT_FOUND exception was thrown during process load

1 个答案:

答案 0 :(得分:3)

每个boost库有许多不同的版本:多线程,单线程,静态,动态等。以“lib”开头的是静态库,没有“lib”的是使用的lib文件链接到DLL版本。你可以通过查看lib文件大小来看到这一点。

如果您是自动链接boost,则表示链接器正在查找序列化的静态版本。如果您没有这样的文件,则表示您没有构建它。另一种方法是使用http://www.boostpro.com处提供的安装程序。它允许您选择下载和安装哪些增强库(静态,动态,ST,MT,VS版本等)。

另一个选项是禁用自动链接:请参阅此邮件列表:http://lists.boost.org/boost-users/2005/12/15697.php