专栏中心

EEPW首页 > 专栏 > 在XPE上面跑MFC程序

在XPE上面跑MFC程序

发布人:bnucxl 时间:2010-06-14 来源:工程师 发布文章

MFC本身是很通用的程序,大多可以直接在各种Windows系统下运行。也许很多人会说,我的电脑没装VC,确实运行不了,装了VC才能运行。实际上没有那么麻烦。

首先应该区分debug与released的区别

编译时,建在debug下的exe程序是查错用的,建在release文件夹下的exe程序才是给别人用的。
在debug模式下的exe,比起released,需要下面的动态链接库

debug动态链接库有8个:
MFC42D.DLL
MFC42UD.DLL
MFCD42D.DLL
MFCD42UD.DLL
MFCN42D.DLL
MFCN42UD.DLL
MFCO42D.DLL
MFCO42UD.DLL
共4.7M大小

这些动态链接库的文件名最后都是个D字母,表示专门用于debug调试用,而且是装VC的时候才会有的。如果是released版本,就没有这些必要。

在MFC用VC开发的时候,最后编译前,将debug版本改成released版本,步骤如下:

1)选择菜单build->Set Active Configuration,然后选择Release,也即我的++6.0的组建--配置--选择release
2)选择菜单project->settings,在General选项卡里第一项选择Use MFC in a static Library

上面两个步骤顺序不能颠倒。当然,有些人把所有的工具栏全都调出来可视,可以直接在工具栏上改——点击右侧小箭头,在下拉表中选择“生成released版本”

这样之后,会在和debug同一个目录下,生成一个released的文件夹,把这个文件夹拷到其他系统一般都是可以直接运行的。

仍然不能运行的情况:

    a.在VC中调用了OpenGL等函数库。

这样的话,应该先在目标系统中添加这样的库。一般是放在C:/windows/system32下面

我的XPE,是在TD中构建系统时候,添加OpenGL support 组件,这样经过dependency check 之后,会自动添加和OpenGL support相关的函数。于是我同学做的3D显示程序就可以直接在我的XPE上跑起来了

    b.也许用的不是VC,是VS2005或是更高的版本

网上说是下载 vcredist_x86补丁并安装。只是我这样试了试没有解决,而且好像VS和VC的OpenGL库也不一样。

 

那么如果就是想要运行debug版本的MFC怎么办,虽然没有意义,但还是有办法的,同样不需要安装VC。那就是把上面列出的8个文件名最后有D字母的dll动态链接库全部装到C:/windows/system32下。在网上基本上可以找到这8个,不过很费劲。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

半导体公司Altera宣布裁员

嵌入式系统 2025-08-13

Alif详细阐述了生成式边缘AI的单一架构

俄亥俄州的英特尔工厂已经停滞多年,现在特朗普、莫雷诺、赫斯特德都参与其中

EDA开发流程中的多模态AI

EDA/PCB 2025-08-13

Protel 99 SE 视频教程 —— 第六节 绘制PCB印制电路板(1)

视频 2010-01-19

Yole评2025数据中心半导体趋势:人工智能重塑计算和内存市场

Ceva无线连接IP市场份额达68%,稳居行业首位

2025年上半年中国芯片投资下降,设备投资激增

EDA/PCB 2025-08-13

模拟电子技术 第二讲

视频 2010-01-20

上交15%营收换取H20出口中国大陆 专家揭骨牌效应

模拟电子技术 第一讲

视频 2010-01-20

模拟电子技术 第三讲

视频 2010-01-20

Gartner:2024年全球IaaS公有云服务市场增长22.5%

智能计算 2025-08-13

Protel 99 SE 视频教程 —— 第七节 绘制PCB印制电路板(2)

视频 2010-01-19

陆行之揭特斯拉AI芯片转单三星背后原因

更多 培训课堂
更多 焦点
更多 视频

技术专区