peakzhang 发表于 2008-1-15 21:53:46

EVC下如何安装配置ACE

我刚刚接触ACE时间不长,以前是在vc6.0下用的,现在需要在EVC4.0下编写程序使用,不知如何配置安装?
请教各位高手!!

peakzhang 发表于 2008-1-15 21:53:52

先看看ACE的说明。有EVC的工程。
鉴于嵌入式系统API、内存都有很多限制,所以ACE一些功能是不能使用的。不过总比自己再从API做起要好得多了。

peakzhang 发表于 2008-1-15 21:54:00

我成功安装上了

不过又有了新问题,我用EVC编写嵌入式程序,然后打算放在Pocket PC 上运行,可总是出现错误:

aced.lib(aced.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'ARM'
不知道是怎么回事。

在我的ACE_wrappers\bin目录下有个文件夹IX86,里面有个ACEd.dll

而我的Pocket PC的CPU是ARM的,

是不是还需要一个ARM的ACEd.dll 呢?

如果是,那又该怎么编译出呢?我尝试了一下,没有头绪

还请指教!

peakzhang 发表于 2008-1-15 21:54:07

是的,不兼容。EVC里面有选项,可以让你选择编译什么类型的CPU平台,错误的平台,肯定无法运行的。

不过x86的,应该可以在模拟器上面使用的。

peakzhang 发表于 2008-1-15 21:54:15

我试过了,X86的是可以在模拟器上使用

可我想让程序在我的Pocket PC上运行,它的CPU是ARM的,我如何选择呢?

我的EVC安装在PC上,想编译成功后下载到Pocket PC上,可是我试过选择ARM的CPU,但出现错误:

aced.lib(aced.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'ARM'


难道我需要将EVC安装到Pocket PC上么?我想它带不起来吧

peakzhang 发表于 2008-1-15 21:54:27

呵呵,看来你对EVC的了解还不够。
EVC只能运行在PC上面,那么大个玩意,PocketPC运行是不现实的啦。
使用EVC,还需要安装各个平台的附加库,微软的下载站有说明的,ARM的,MIPS的,等等。你需要安装这些对应的库,才能在EVC上面选择ARM CPU平台,才能把文件传输到PocketPC上面,EVC的工具栏上面有选择项。
去微软的站看一下,下载必须的平台开发包,安装一下就明白了。
错误的CPU系统平台,是永远无法使用的。

peakzhang 发表于 2008-1-15 21:54:34

这个平台开发包我应该已经安装了

(1)       Microsoft ActiveSync 4.1

(2)       安装 Embedded Visual C++ 4.0

(3)       安装 Embedded Visual C++ 4.0 SP4

(4)       安装 Microsoft Pocket PC 2003 SDK

(5)       安装 Windows Mobile 2003 Second Edition Developer Resources

(6)       安装 Windows Mobile 2003 Second Edition Emulator Images for Pocket PC – CHS


这个是我安装EVC的顺序,师姐推荐的;


我现在可以在EVC上面选择ARM CPU平台,也可以把文件传输到PocketPC上,如果程序中不使用ACE中的语言,所在编译和运行时是没有错误的;

但如果一使用ACE中的语言,编译就出现错误:

aced.lib(aced.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'ARM'

         因为对比ACE在VC和EVC下所编译产生的aced.dll,VC中bin目录下直接有一个aced.dll,而EVC中的bin目录下有一个文件夹IX86,其中有ACEd.dll,于是我联想是否应该再编译一个ARM的ACEd.dll?

         还是错误不在这里,另有原因?

         网上将EVC和ACE结合的资料很少,本人又没有相应动态链接库的知识背景,所以一直不得头绪,还请高手您指点!

peakzhang 发表于 2008-1-15 21:54:42

你想的很对,当然需要把ACE编译成为arm平台上面的类库了,因为这个dll需要和应用程序一起使用呀。
应用程序是ARM平台的,所有配套的二进制应用程序,都需要如此照搬。

peakzhang 发表于 2008-1-15 21:54:53

那这回总算找到毛病的根结了……

不过请问如何编译它呢?

按网上其它地方介绍的方法只能编译出IX86的dll啊

无法编译出ARM的dll

我试过添加configurations,但确出现许多警告和错误。

向您请教具体编译步骤

peakzhang 发表于 2008-1-15 21:55:02

用ACE_WinCE.sln就应该可以,可以选择不同类型的CPU吧。
因为不再做嵌入式的开发,我手上没有环境,没法帮你测试了,抱歉。
不过问题的根源,肯定在这里。
页: [1] 2
查看完整版本: EVC下如何安装配置ACE