首页
社区
课程
招聘
64位系统下,vs2010编译32位exe在XP下无法正确执行的问题
发表于: 2016-12-23 22:26 7591

64位系统下,vs2010编译32位exe在XP下无法正确执行的问题

2016-12-23 22:26
7591
我是初学者,看windows程序设计第三章敲了那个hellowin程序,我的主机是64位win7,编译器是vs2010,先编译了64位release版的exe文件, 在主机和虚拟机中都能正常执行,接着编译了32位的release版的exe文件,编译成功了,但是在虚拟机的XP系统下却不能正确执行,胡乱研究一天了,实在没办法了,求各位老师帮助指点下, 我感激不尽啊。我这个人比较笨,卡在这就什么都干不下去了,求大家帮助啊!!!!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 1140
活跃值: (102)
能力值: ( LV4,RANK:48 )
在线值:
发帖
回帖
粉丝
2
要在xp里运行的话,需要把项目属性改下,其中,平台工具集的值改为windows xp,mfc的使用改成 在静态库中使用mfc,然后就行
2016-12-23 23:20
0
雪    币: 7673
活跃值: (5497)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
框起来的设置就可以了
上传的附件:
2016-12-24 03:50
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
http://bbs.pediy.com/attachment.php?attachmentid=109486&stc=1&d=1482537749
上传的附件:
2016-12-24 08:09
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
另外我的配置类型是.exe 如果选择MFC静态库, 编译文件就会报错,所有使用函数都被认为是外部符号,无法解析
选择 标准windows 库  才可以编译成功
2016-12-24 08:57
0
雪    币: 7
活跃值: (348)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
C/C++-->Code Generation-->Runtime Library-->MT

这个能解决你的问题
2016-12-24 10:08
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个已经设置了, 这段代码就是个窗口, 在64上都正常,在WIN32下不出现窗口,还显示窗口类注册失败, 但是这段代码是书上的啊,估计不能有错误啊 ,所以我才郁闷和困惑,你说的这个设置在我刚在虚拟机里运行EXE时提示缺少DLL100的时候已经设置了,现在不显示缺少DLL100了,但是不能正常运行,所以我一直琢磨是不是我哪里设置的不对
2016-12-24 11:07
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你是不是设置了 X64模式啊, 设置成 WIN32 就可以了
2016-12-25 01:54
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
9
不要用2010  用2013或者2015 有个120_xp跟140_xp的编译模式可以兼容运行. 当然运行时库要选择到/MT!!!!!!!2010或者其他版本如果你有用到std的东西都无法运行,因为需要msvcrt.dll模块支持!
2016-12-25 03:20
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
9楼的说法让我感觉听可能的 , 我去弄个2015变一下看看
2016-12-25 10:12
0
雪    币: 7673
活跃值: (5497)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
肯定需要静态编译啊,不静态,你就把需要的DLL放到你软件的目录下或者XP的WINDOWS目录下就行了
2016-12-26 05:27
0
雪    币: 7673
活跃值: (5497)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
还有一个,你静态编译报错是因为没有包含lib文件.只能告诉你这么多了
2016-12-26 05:29
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
对不起大家了,为了弄个2013或者2015编译, 我这几天是成天研究怎么安装呢, 各种问题, 装不上2013 ,延后系统不更新很久了,来回折腾还是不更新,没办法从新装的系统,到现在2013还没装上呢,也就没试验呢 , 等我实验结束就来给大家汇报结果
2017-1-2 11:00
0
雪    币: 90
活跃值: (91)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
大神们都是这么过来的, 一个小问题可能卡你好几天
2017-1-2 11:59
0
雪    币: 118
活跃值: (68)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
15
你在xp下安装下对应版本的vc运行库试下,vs2010编译的就安装vc2010版本的运行库
2017-1-3 11:06
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
对不起大家, 我觉得自己笨的像一头猪, 我折腾了这么久,终于还是转回来了,因为我觉得自己不能为了自己没知识就去找编译器的原因,别人是怎么做到的呢,所以我终于没安装2013,决定还是要拿2010解决这个问题,但是让我痛苦不堪的是按照各位老师说的方法,需要包含.lib文件, 但是我弄了好半天,不会弄啊,在网上查了很多设置方法,但是我都没有理解,这个.lib 是自己写的还是编译器自带的啊,如果是编译器自带的,去哪里找啊, 怎么找, 另外还有说什么绝对路径和相对路径, 编译完的文件到别的机器上能不能正常执行呢,恳求各位大神能抽出点时间教教我, 越详细越好,先在这里感谢大家对我的耐心指导,无知让我很痛苦
2017-1-4 23:22
0
雪    币: 118
活跃值: (68)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
17
xp下安装vc运行库先试下啊
2017-1-5 10:07
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
都不看他说的,他说的是程序已经起来了,注册窗口失败了。
2017-1-5 10:26
0
雪    币: 8209
活跃值: (4528)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
19
//试试在开始加一行:
InitCommonControls();
2017-1-5 10:45
0
雪    币: 118
活跃值: (68)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
确实是我疏忽了,没有仔细看后面的回复
2017-1-5 10:55
0
雪    币: 118
活跃值: (68)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
21
我遇到过注册窗口失败是代码敲错了,不过win7下正常,xp下错误就不知道原因了
2017-1-5 11:00
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我现在想了想,自己还是觉得应该学会怎么添加lib库 我现在敲的代码是windows程序设计 这本书里面的代码, 第三章那个HELLOWIN 编译好64位release版正常,32版本的不正常 ,然后别人指点我用MFC静态编译 我的编译器是VS2010 但是编译器设置MFC静态编译之后就会报错,一大堆函数报错,大家说是应该添加lib库或者是DLL就能解决, 但是我一次也没有这样弄过,求哪位老师能耐心的教我一下,因为我觉得这问题我会经常遇到的 ,所以我想学会处理这个
2017-1-5 11:06
0
雪    币: 581
活跃值: (215)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
23
我给你弄吧。告我你QQ。
2017-1-5 11:40
0
雪    币: 940
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
780475280
2017-1-5 11:47
0
雪    币: 8209
活跃值: (4528)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
25
把你编译出来的exe贴出来让大家调试一下不就可以了
2017-1-5 19:17
0
游客
登录 | 注册 方可回帖
返回
//