您的位置:首页 > 编程语言 > C语言/C++

Windows mobile应用程序开发环境搭建(C++)

2010-10-13 17:55 459 查看
  最近在做个调用摄像头数据进行扫描识别的程序,本人愚钝,环境搭建都要半天时间,之前在windows桌面环境下就弄了半天,现在要将程序移植到wm下,移入之后根本不是想象的那么轻松,由于wm和win桌面操作系统的DirectShow SDK有很多差别,只能是重新搞了。

  几番周折后又下载了个操作camera的示例源码,是基于windows标准库来建立的,为了想尽快看到是否能成功调用摄像头,赶紧动手进行项目创建,我的wm SDK只有基于MFC的智能应用程序,只能先创建个空的C++项目了,这样的话项目比较“纯净”。

  项目创建完成,进行编译,本来就不寄予多大的希望一次性成功,出现以下错误:


错误 1 error C2146: syntax error : missing ';' before identifier 'ContextRecord' F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winnt.h 2978

错误 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winnt.h 2978

错误 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winnt.h 2978

错误 4 error C2146: syntax error : missing ';' before identifier 'LPCONTEXT' F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winbase.h 1416

错误 5 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winbase.h 1416

错误 6 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winbase.h 1416

错误 7 error C2061: syntax error : identifier 'LPCONTEXT' F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winbase.h 2119

错误 8 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winbase.h 2127

错误 9 error C2143: syntax error : missing ',' before '*' F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\winbase.h 2127

错误 10 error C2040: 'PCONTEXT' : '_CONTEXT *' differs in levels of indirection from 'int' F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\excpt.h 65

错误 11 error C2378: 'LPCONTEXT' : redefinition; symbol cannot be overloaded with a typedef F:\Program Files\Windows Mobile 6 SDK\PocketPC\include\ARMV4I\excpt.h 68


  从上面错误中大略可以看出,都是系统文件的问题,应该是环境的问题,所以在经过一些资料查找后,将解决方法罗列如下(首先wm SDK肯定是要提前安装好的):

  

  

  

  1. 当前项目右键-属性-平台修改为windows mobile x SDK

  2. 配置属性-C/C++-预处理器-预处理器定义栏里面:    NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;_WINDOWS;_USRDLL;TEST_DLL_EXPORTS;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE

  3. 链接器-输入-附加依赖项:strmbase.lib strmiids.lib

  4. 链接器-系统-子系统栏-windows CE

  然后编译喽,如果还有错误应该跟环境问题没大的关系了,希望跟我有同样“遭遇”的新手们能尽快解决问题,由于此问题属于mobile的开发环境搭建中的基点,所以我故意将标题命名成如上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: