作者:朱金灿

 

       同事在使用boost库时遇到一个问题,在编译时出现一个错误:Mixing a dll boost library with a static runtime is a really bad idea。我查看了一下,发现他是使用动态链接boost库的,即定义了预处理器:BOOST_ALL_DYN_LINK。我想了一下,明白了这是因为错误链接了运行库造成的,改了一下程序的运行库,将“多线程调试(/MTd)”改为“多线程调试DLL(/MDd)”,具体如下图:

Mixing a dll boost library with a static runtime is a really bad idea错误的解决_boost库


        也就是说在使用boost库时凡是定义了BOOST_ALL_DYN_LINK和BOOST_DYN_LINK,运行库需要选择为多线程调试DLL。