编译WINCE下ACE的问题
大家好,新手初来,请多多指教。之前在windows xp下使用vs2003编译过。
后来对系统未做任何修改, 使用vs2005点击xxx_ce.sln编译, 有10多个projects失败。
config.h内容设置如下:
#define HAS_STANDARD_LIBARY1
#include "config-win32.h"
有10多个projects失败,但我未做处理。
使用vs2005新建了一个c++ win32 控制台 智能设备应用程序;此时不添加ace相关头文件,程序没问题;添加了ace相关头文件后:
1,编译时有错, 说wince版本太低, 我在系统环境变量中加上了CEVER = 500, 似乎没起作用。config-wince.h中手动加上#define UNDER_CE 500, 编译过程中有很多WARNING说宏重定义, 去掉工程属性中preprocessor中的UNDER_CE, 仍然有重复的宏定义。该问题如何解决?
2, 使用有重定义warning版本的ace库, 向代码中添加 #include <ace/time_value.h> 编译无误。 但是添加 #include <ace/reactor.h>, #include <ace/thread_manager.h> 等头文件就有错, crtWmainStartup中hInstance未定义; 弄了几个小时无解。
这两个问题有依赖性么? 使用vs2005编译wince版本的,需要做什么特殊配置么? 在开发过程中工程该怎么配置?
各位有相同遭遇的么,怎么解决的?
不胜感激:( 怎么无人问津阿?
可能我说的不是很明白, 昨天下班后,回去回想写的。
没人有类似的问题么?
问个简单的吧。 按照ace-install.html中的步骤, 然后安装vs2005, 就能编译出wince下的ace库么?
需要安装platform builder, wince5/wince6 么? 你必须了解wince编程本身。
必须有WINCE的编程环境,简而言之,用PC机编译不出能直接在嵌入式上面运行的程序,指令不同。需要用特定的开发包来做。 确实对wince非常不熟悉。 不过马上要将windows xp上用ace编的程序移植到wince下。
现在安装了vs2005, 直接双击 __ce.sln编译可以得到aced.lib/aced.dll. 然后使用这个库, 利用vs2005创建win32智能设备应用程序。
这样也不行的吗?
我现在碰到这样的情况了, 加入ace相关头文件没什么问题, ace代码就出错,编译没错, 但程序不能运行起来。
这个是我编译步骤中有错, 还是什么情况? 肯定不行,你想啊,嵌入式设备,CPU不是x86这类,编译的代码,跑不了的。
只能用特殊的开发包,编译成对应的格式才能跑。
推荐你找几篇文章看一下为好,不然问题一堆堆。
回复 #5 peakzhang 的帖子
应该是可以的吧?编译的时候__ce.sln中很多选项就指定了目标平台。 而且vs2005中自带了pocket pc/ smart phone的模拟器。 有了这些后就可以直接开发调试, 和真实的嵌入式环境一样。我以前在xp下使用cygwin编译出了vxworks下的ace库,使用起来没问题的。
从ace-install.html中描述来看, 编译ce下的库和其它win32平台下,方法完全一样吧? 我现在就碰到两个问题:
1, 编译出aced.lib后,包含ace头文件,报错说我ce版本太低,要求3.0以上。我查看了工程文件的preprocessor,定义环境变量cever = 500, 似乎没起作用。不过我用其他方式解决了。
2, 包含头文件没问题后, 使用ace代码就有问题了。编译没错, 但是运行的时候程序不能加载到模拟器中去。
大家以前都没这样的问题么?周围搞ace和wince的人太少,网上相关资料也不多。
当然也可能如你所说,想在xp下编译ace.lib for wince就是不可能。 装了pocket pc sdk2003, windows mobile5 sdk for ppc后, 编译的库仍然报告说wince版本太低。
安装目录下有wce420, wce500, 但环境变量中没有CEVER。
手动在环境变量中添加CEVER后,使用aced.lib, 编写的程序编译没有问题, 运行不起来。 报错0x8007007e,系统提示重新安装vs2005. baidu说系统文件损坏,需要修复文件。
明天修复了如果依然有问题就没辙了。
各位没有在win2000/xp下使用ace编译/开发wince应用程序的经验么?
页:
[1]