目录
需要知道
多线程调试Dll (/MDd) 对应的是MD_DynamicDebug
多线程Dll (/MD) 对应的是MD_DynamicRelease
多线程(/MT) 对应的是MD_StaticRelease
多线程(/MTd)对应的是MD_StaticDebug
运行库选择多线程(/MT)配置,生成的exe所依赖的动态库
多线程调试(/MTD)
多线程DLL(/MD)
多线程调试DLL(/MDd)
可以发现如果使用多线程(/MT)或者多线程调试(/MTd)生成的exe文件仅仅依赖kernel32.dll文件,而未安装开发环境的电脑中是有该动态库的,所以exe文件是可以在其他电脑上运行的
而对于多线程DLL(/MD)和多线程调试DLL(/MDd)生成的exe文件依赖于vcruntime140.dll、kernel32.dll等文件,而未安装环境的电脑中是没有该库文件的,所以运行时就会提示找不到动态库的错误
未安装开发环境电脑搜索kernel.dll结果
运行多线程调试DLL(/MDd)生成的exe文件