俺要把一个跑在Windows CE(ARM)上的程序移植到Windows CE(MIPS)上去。
现在已经可以编译链接成功了,但是在Windows CE(MIPS)上一执行exe文件就报错,错误是“找不到($俺的程序名)或它的某一个组件。请确认路径和文件名正确并且所需要的库全部可用”。
俺用DependencyWalker看了一下俺的程序,说是缺少aygshell.DLL和coredll.dll,但是这俩文件去哪儿找啊,网上查了一圈,可以下载的地方都需要注册,而且还不知道是不是针对Windows CE(MIPS)的。
俺还有个奇怪的问题是:俺在build的时候已经把MFS给静态链接进来了,为啥还会报这种错呢?
谢谢各位指教。
引用: 引用楼主 Landy_BUAA 的帖子:
俺在build的时候已经把MFS给静态链接进来了,为啥还会报这种错呢?
写错了,应该是MFC。俺怎么无法修改原贴呢?奇怪。
自己编译一个出来好了,用现有的MIPS的BSP加上PB编译环境编译,应该在Release目录下面可以找到这两个DLL
不知道你选择ARM之后重新编译过了吗,需要选择ARM系列的CPU,现在的是ARM4I,重新编译下就OK了
哎,这不是没经验嘛。我先Google一下怎么用Platform Builder来build这两个dll吧。谢谢了。
谢谢回复。不过,您是看反了吧。我是要把ARM上的程序移植到MIPS下来
老大,哪里能下到Platform Builder啊。俺google了一大圈,找到的都是service pack或者monthly updates之类的玩艺儿……
编译时候的 还是要选择一下编译器啊
-----
如果没的,就只能 如楼上所说喽!
引用: 引用 6 楼 Landy_BUAA 的回复:
老大,哪里能下到Platform Builder啊。俺google了一大圈,找到的都是service pack或者monthly updates之类的玩艺儿……
http://bbs.driverdevelop.com这个论坛上有下载PB的,不过你也可以去微软官方下载,不过有时间限制
1. aygshell.DLL 是你板子上的 wince 內的 nk.bin, 在創建時沒勾選 "AYGShell API Set", 這要請你板子 WINCE 的提供者將該元件加入, 不過這個元件是 Professional 的, licence fee 可能會不太一樣.
2. coredll.dll 在你板子上應該有才對, 那是必須的元件, 除非你是 "Tiny Kernel", 所以這個就不知了.
Paul, Chao @ Techware
LZ是在MIPS的SDK下编译链接你的EXE程序吗?
如果是在ARM的SDK下build出的,肯定出错,用PB生成MIPS的SDK先
简单的说就是你的2个设备所用的wince是不同的,wince是组件化的,有300多个组件可以选择;你的2个设备选择的组件不同。所以你也有2种方法,一个是让设备提供者重新定制系统,另外就是你修改你的代码,避免使用aygshell api