新人问个程序移植的土问题,送100分

wolf365   2009-3-26 23:15 楼主
俺要把一个跑在Windows CE(ARM)上的程序移植到Windows CE(MIPS)上去。

现在已经可以编译链接成功了,但是在Windows CE(MIPS)上一执行exe文件就报错,错误是“找不到($俺的程序名)或它的某一个组件。请确认路径和文件名正确并且所需要的库全部可用”。

俺用DependencyWalker看了一下俺的程序,说是缺少aygshell.DLL和coredll.dll,但是这俩文件去哪儿找啊,网上查了一圈,可以下载的地方都需要注册,而且还不知道是不是针对Windows CE(MIPS)的。

俺还有个奇怪的问题是:俺在build的时候已经把MFS给静态链接进来了,为啥还会报这种错呢?

谢谢各位指教。

回复评论 (14)

引用: 引用楼主 Landy_BUAA 的帖子:
俺在build的时候已经把MFS给静态链接进来了,为啥还会报这种错呢?

写错了,应该是MFC。俺怎么无法修改原贴呢?奇怪。
点赞  2009-3-26 23:19
自己编译一个出来好了,用现有的MIPS的BSP加上PB编译环境编译,应该在Release目录下面可以找到这两个DLL
点赞  2009-3-26 23:24
不知道你选择ARM之后重新编译过了吗,需要选择ARM系列的CPU,现在的是ARM4I,重新编译下就OK了
点赞  2009-3-26 23:27
哎,这不是没经验嘛。我先Google一下怎么用Platform Builder来build这两个dll吧。谢谢了。
点赞  2009-3-26 23:40
谢谢回复。不过,您是看反了吧。我是要把ARM上的程序移植到MIPS下来
点赞  2009-3-26 23:41
老大,哪里能下到Platform Builder啊。俺google了一大圈,找到的都是service pack或者monthly updates之类的玩艺儿……
点赞  2009-3-26 23:58

8楼 xyw 

你用什么开发板的,是自带的还是自己弄的
点赞  2009-3-27 00:05
要重新编译个SDK安装,然后再编译吧。
点赞  2009-3-27 08:39
编译时候的 还是要选择一下编译器啊
-----
如果没的,就只能 如楼上所说喽!
点赞  2009-3-27 09:33
引用: 引用 6 楼 Landy_BUAA 的回复:
老大,哪里能下到Platform Builder啊。俺google了一大圈,找到的都是service pack或者monthly updates之类的玩艺儿……

http://bbs.driverdevelop.com这个论坛上有下载PB的,不过你也可以去微软官方下载,不过有时间限制
点赞  2009-3-27 09:40
1. aygshell.DLL 是你板子上的 wince 內的 nk.bin, 在創建時沒勾選 "AYGShell API Set", 這要請你板子 WINCE 的提供者將該元件加入, 不過這個元件是 Professional 的, licence fee 可能會不太一樣.

2. coredll.dll 在你板子上應該有才對, 那是必須的元件, 除非你是 "Tiny Kernel", 所以這個就不知了.

Paul, Chao @ Techware
点赞  2009-3-27 10:05
LZ是在MIPS的SDK下编译链接你的EXE程序吗?

如果是在ARM的SDK下build出的,肯定出错,用PB生成MIPS的SDK先
点赞  2009-3-27 10:11
简单的说就是你的2个设备所用的wince是不同的,wince是组件化的,有300多个组件可以选择;你的2个设备选择的组件不同。所以你也有2种方法,一个是让设备提供者重新定制系统,另外就是你修改你的代码,避免使用aygshell api
点赞  2009-3-27 10:24
有点明白,结贴了,谢谢各位。
点赞  2009-3-28 22:57
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复