LINK : fatal error LNK1104: cannot open file "mfc42d.lib"

想仿真调试evc程序,可是安装了SDK之后总是会出现这个错误。

而且选择APP程序就可以通过,MFC就不行。

重新安装了SDK,不行……

把evc重新装了下,还是不行……

后来上网查了下,说是Unicode的问题。

恩~~学习了!

 

网址:http://faq.csdn.net/read/209407.html

问题内容:程序出错:LINK : fatal error LNK1104: cannot open file "mfc42ud.lib",是什么问题?


答案:
RT
---------------------------------------------------------------

编译路径把他包含进去
---------------------------------------------------------------

那个是MFC4.2 UNICODE DEBUG的LIB,其实如果你的程序没有要求UNICODE,换一种编译模式就可以了,比如WIN32 DEBUG/RELEASE,如果你要这个LIB,我发给你,EnochShen@QQ.com
---------------------------------------------------------------

缺少支持Unicode的文件;MFC安装的时候,默认是不安装支持Unicode的相关文件的,你现在只要启动VC的安装程序,选择支持Unicode的选项,再安装就可以了,如果嫌麻烦,直接选择全安装就可以了,现在磁盘都很大,都安上吧,说不定什么时候又缺什么了。(我也是选择的全安装,不过为什么还是不行呢?)

如果还嫌麻烦,那么直接编译Release版本的EXE,这个文件只有Debug版本的Unicode程序才用。 (这个很对)
---------------------------------------------------------------

unicode模式需要安装的
---------------------------------------------------------------

默认没有安装,可以把你安装文件夹里面的考到vc lib 目录里面 mfc42d.lib等等都在一个目录

 

 

 

后来又查了查解决的办法

http://topic.csdn.net/u/20070205/15/beb2ed15-2d53-4eff-99b1-f3576a1bc665.html

 

EVC4.0下出现cannot open file 'mfcs42d.lib'如何处理??

 

我新建了一个基于对话框的MFC,但是为什么一编译现如下的错误:
LINK   :   fatal   error   LNK1104:   cannot   open   file   'mfcs42d.lib '
不知道我应该如何做才能解决这个问题呢??

 

楼主你用的是Standard模拟器吗?还是自己定制的SDK啊?应该是你没把MFC组件加进去!

 

我用的是模拟器,我应该把MFC组件加进去啊?请具体点,谢谢

 

如果是你自己定制的模拟器,你应该把MFC组件拉过来。还有Dubug,Release也要选对。

 

搂主,你试试这样:Tools-> options-> Directory-> show   directory-> library   files
下面会出现三条路经
你把下面的两条最后的emulator改成x86拭拭(这招好使,不过为什么呢?)

 

试试上楼的,如果不行,你看一下工程-setting,里面有link项。未知的lib文件你看看是否在里面。

 

谢谢WDLLIN!
请问你告诉我这是怎么回事吗?把emulator改成x86有什么区别呢?

 

'mfcs42d.lib '是debug版本下对应的库,你的SDK可能是Release的,切换你的工程类型到Release

 

 还有http://topic.csdn.net/u/20070205/15/beb2ed15-2d53-4eff-99b1-f3576a1bc665.html

 

 

小总结一下:

 

实验1:

分别生成一个Emulator:x86的SDK(release)和Emulator:x86的SDK(debug),安装

都会出现cannot open file "mfc42ud.lib"的错误

按照这样修改:Tools-> options-> Directory-> show   directory-> library   files 下面会出现三条路经,把下面的两条最后的emulator改成x86

都可以编译通过

 

实验2:

建立的evc项目时,cpu的选择

选择Emulator的时候,如果不做上述修改,就会出现"mfc42ud.lib"的错误

选择了x86的时候,则可以编译通过(虽然不能仿真)

 

实验3

查看了SDK的安装目录

C:/Program Files/Windows CE Tools/wce500/Emulator/Mfc/Lib/x86

C:/Program Files/Windows CE Tools/wce500/Emulator/Atl/Lib/x86

只有这个x86的文件夹,没有Emulator的。

 

结论:

不知道是什么原因,模拟器仿真编译的SDK只有x86的cpu库文件,没有针对Emulator的库,所以链接的时候找不到在C:/Program Files/Windows CE Tools/wce500/Emulator/Atl/Lib/Emulator或者C:/Program Files/Windows CE Tools/wce500/Emulator/Mfc/Lib/Emulator下的文件,就会出错。

总之,在对应的文件夹下面要有对应的文件

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值