我的程序找不到boost库

时间:2010-11-10 14:32:15

标签: c++ windows testing boost

首先,我不懂英语。所以,我在这个页面上有很多错误。 请理解我的错误。

问题。

我尝试制作一个代码作为boost测试库的样本。

#include <boost/unit_test.hpp>

BOOST_AUTO_TEST_CASE(test)
{
    BOOST_CHECK(true);
}

我构建了源代码,并获得了执行文件'test.exe'

我尝试执行该文件。但是我收到了一条错误消息。

程序无法启动,因为您的计算机缺少boost_unit_test_framework-vc80-mt-1_44.dll。请尝试重新安装该程序以解决此问题。

但是,我已经在我的boost库目录中准备好了该文件。

在这种情况下有什么问题?

背景。 我解释了我的构建环境。我使用的是Windows7旗舰版x64。和Visual Studio 2005。 所以我自己建立了升级库。我得到了64位计算系统的所有库。

使用bjam。我在64位命令提示符窗口中使用命令 - 'bjam --toolset = mvsc-8.0 address-model = 64 threading = multi --build-system = complete install'。

构建之后,我在visual studio目录路径选项中设置了boost库和头目录。

谢谢。所有!

3 个答案:

答案 0 :(得分:5)

确保DLL的路径包含在“PATH”环境变量中。 (如果您愿意,可以在您的exe目录中包含DLL)。这样就可以找到DLL了。

答案 1 :(得分:4)

您也可以选择使用Boost库的静态版本。

构建或下载静态库并指向Visual Studio。 Boost代码将内置到您的应用程序中(增加其大小),您将不需要DLL。

答案 2 :(得分:0)

如果使用CMake配置应用程序,则可以使用Boost_USE_STATIC_LIBS告诉CMake使用Boost库的静态版本:

set(Boost_USE_STATIC_LIBS ON)

find_package(Boost ... )

这样,将不需要DLL,因为必需的Boost定义将通过静态库内置到您的应用程序中。