作者:朱金灿
来源:http://blog.csdn.net/clever101
同事在使用boost库时遇到一个问题,在编译时出现一个错误:Mixing a dll boost library with a static runtime is a really bad idea。我查看了一下,发现他是使用动态链接boost库的,即定义了预处理器:BOOST_ALL_DYN_LINK。我想了一下,明白了这是因为错误链接了运行库造成的,改了一下程序的运行库,将“多线程调试(/MTd)”改为“多线程调试DLL(/MDd)”,具体如下图:
也就是说在使用boost库时凡是定义了BOOST_ALL_DYN_LINK和BOOST_DYN_LINK,运行库需要选择为多线程调试DLL。