想仿真调试evc程序,可是安装了SDK之后总是会出现这个错误。
而且选择APP程序就可以通过,MFC就不行。
重新安装了SDK,不行……
把evc重新装了下,还是不行……
后来上网查了下,说是Unicode的问题。
恩~~学习了!
网址:http://faq.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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下的文件,就会出错。
总之,在对应的文件夹下面要有对应的文件