不应该使用 /MD 生成的项目部署 Boost::线程库吗?

Shouldn't Boost::Thread libraries be deployed with my project generated with /MD?

本文关键字:Boost 部署 线程 项目部 项目 MD 不应该      更新时间:2023-10-16

我正在用VS2005开发一个使用Boost 1.54的应用程序。在搞砸了编译之后,我决定下载"alredy baked"VS8.0 Win32 二进制文件,然后它们就在那里。

现在问题是,应用程序是使用/MD 选项生成的,这意味着,如果错误,请纠正我,它正在动态链接(外部依赖项应以 DLL 文件的方式提供)。

我已经在我的应用程序中使用了Boost::Thread,它在我的计算机中运行良好。由于它是使用/MD 生成的,因此它应该需要其他计算机中的 DLL,不是吗?

但是,当要求同行(不使用 Boost 的人)运行我的应用程序时,它只是运行良好。它不是应该大喊 DLL 丢失错误吗?

谢谢。

/MD 是一个专用于 C 运行时的标志,它与 Boost 无关。默认情况下,我认为Visual Studio链接静态Boost。如果要动态链接,则需要添加标志BOOST_ALL_DYN_LINK另外,每当您想检查动态依赖项时,我都会推荐出色的Walker Dependency