用VS2017写的一个MFC的对话框程序,在win7和win10下运行正常;在win2003server下启动,报错:
null
不是有效的win32应用程序,通过搜集资料,找到如下解决方案:
方法一、设置平台工具集
项目右键属性->配置属性->常规->平台工具集(选择带有XP标志的平台工具集),如下图:
![图片[1]-MFC对话框程序报错:不是有效的win32应用程序-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/04/MFC-not-32bit-program.png)
方法二、设置子系统的最低版本为5.01
项目右键属性->配置属性->链接器->系统->子系统->所需的最低版本 ==> 最低版本为5.01
![图片[2]-MFC对话框程序报错:不是有效的win32应用程序-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/04/VS2017-MFC-zi-xi-tong.png)
Window系统内核版本号及其查看方法:
问题解决后,又出现了新问题:
无法定位InitializeCriticalSectionEx程序输入点于动态链接库kernel32.dll上.
解决方法如下:
在Stdafx.h 头文件 #pragma once 下面添加
#define WINVER _WIN32_WINNT_WINXP
#define _WIN32_WINNT _WIN32_WINNT_WINXP
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容