首先,我不懂英语。所以,我在这个页面上有很多错误。 请理解我的错误。
问题。
我尝试制作一个代码作为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库和头目录。
谢谢。所有!
答案 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定义将通过静态库内置到您的应用程序中。