有时候我们用VC++编写的DLL,VS2015生成的,VS2010不能用,提示缺少运行时库,比如msvcr140.dll,这样很麻烦,怎样解决这类问题呢?
原来,VC++里面,属性->C++下面有个运行时,有4个选项,MT,MTd,MD,MDd,MT是多线程的release版本,MD是多线程DLL,当制作DLL时,选择的是MD,则在调用的时候,需要相同的C++版本,生成的DLL也比较小;当制作DLL时,选择的是MT,生成的DLL比较大,但是不用考虑运行时,软件应该把相关的依赖打包到DLL中
作者用VS2015制作了一个DLL,运行时选择MT,然后使用VS2010调用,测试通过