解决Windows7下vs2008 Active control test container 不能运行的问题

本文介绍了解决VS2008环境下MFCActiveXControl在Windows7系统中无法正常编译的问题。通过调整编译设置如禁用增量链接、修改调试信息格式、取消注册输出及调整UAC选项等,并对源代码进行必要的更改,最终实现了控件的成功编译和运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按照:http://blog.youkuaiyun.com/fengbingchun/archive/2011/05/05/6398356.aspx

在windows7系统中,vs2008环境下用MFC ActiveX Control生成的控件不能正常编译,但是在xp系统中却能正常编译,解决方法:

1、在windows7中编译,提示错误为:fatal error LNK1000: Internal error during IncrBuildImage,网上说,是vs2008的bug,再重新编译一下即可,可是再编译一次还是提示这种错误。

解决方法:选中对应工程-->点击右键,选择Properties-->Configuration Properties-->Linker-->General-->选中Enable Incremental Linking:改为No(/INCREMENTAL:NO),原始选项为Yes(/INCREMENTAL)。

接下来:选择C/C++-->General-->选中Debug Imformation Format:改为Program Database(/Zi),原始选项为Program Database for Edit & Continue(/ZI);点击,应用,确定即可。

2、按上面步骤修改后,有时还会出现一个错误,提示错误为:error PRJ0050:Failed to register output.

解决方法:选中对应工程-->点击右键,选择Properties-->Configuration Properties-->Linker-->General-->选中Register Output:改为No,原始选项为Yes,点击应用,确定即可。需Release、Debug下各配置一次。

配置好后,能生成TstCon32.exe文件,但是双击运行,弹出并行运行不正确的对话框,解决方法:

3、分别在TstCon和TCProps两个Project的StdAfx.h文件加入 #define _WIN32_WINNT 0x0600.

原始TstCon工程没有相应语句之间添加即可;原始TCProps工程将#define _WIN32_WINNT 0x0400改为#define _WIN32_WINNT 0x0600即可。

4、分别对各个工程进行:选中对应工程-->点击右键,选择Properties-->Configuration Properties-->Linker-->Manifest File-->选中Enable User Account Control(UAC):改为No,原始为Yes,点击,应用,确定即可。需Release、Debug下各配置一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值