既然我已经使用了,上述配置,应该没有引用高版本的系统dll中的不存在的函数。
查看它的导入表,也如我们所想。
后来我看到网上这篇文章:
https://blog.csdn.net/ryu2003/article/details/52064925
最大的,提醒:版本匹配,pe 中有一个字段,指定了最低支持的系统版本。
我们将,平台工具集换成了v141_xp 后,设置如下:
我们知道,当设置子系统为空,程序会根据,main 函数的版本自动的设置生成的是,console 或 win32。感觉vs 还挺贴心的。我当时也没多想,看了很多的博客都说设置这个, 我看了下, 觉得自己的这个,默认就挺好的。就没动它。
事实是,我们生成的exe 仍然不符合要求,查看生成的pe 的版本:
咋是6.0 ???
不知道啥情况。
后来,我手动,将其改变成5.0 就能在目标机器上执行了
再后来:
才可以,还不能设置为“未设置”:
此时查看生成的pe:
希望大家以后少跳坑吧,举一反三