问题一:在VS中运行编译程序正常,但运行生成的.exe出现“无法打开某某文件”的问题:
无法打开这些文件夹,就是在.exe目录下没有改文件夹,所以找不到。
解决办法:将这些文件全部放在 .exe目录下。
拓展:当然还会出现“无法加载某某模型”,“无法找到某某”,.......诸如此类的问题,我们只需将报错打不开的这些文件统统放在 .exe目录下即可。
问题二:运行.exe,缺少MSVCP120d.dll或者MSVCR120.dll
解决办法:在电脑中搜索这些dll文件,然后复制到.exe目录下。这里你会找到很多对应的同名的dll文件,需要找到正确的才能正常运行,这就是问题三。
问题三:运行.exe,出现0xc000007b——应用程序无法正常启动:
解决办法:这个问题多半是你找的dll文件不正确,也就是说例如你的程序是x64编译的,而这些dll却对应的是x86的,所以会报错,例如我们需要找x64的dll文件,正确的路径应该在:
vs安装目录\VC\redist\x64 和 vs安装目录\VC\redist\Debug\,这里才有正统的dll。
此外,原则上x86的也应该从该处的x86目录拷贝,毕竟这是才是面向分发的。更换msvcr120.dll后,问题解决。
出乎想象:SysWOW64目录下的dll并非确保是64位的,实际上我从这里拷贝出来的msvcr120.dll是32位的,所以我一直出错。