您的位置:首页 > 其它

WINCE CEWMPHostM例子在VS2005 WINCE5.0下编译(转载)

2009-12-22 09:59 197 查看
1,使用VS2005 自带的转换工具把它转为vs2005下的工程。

如果这样马上编译会得到如下的错误:

Rebuild All started: Project: SPWmpHost, Configuration: Debug Pocket PC 2003 (ARMV4) ------
1>Deleting intermediate and output files for project 'SPWmpHost', configuration 'Debug|Pocket PC 2003 (ARMV4)'
1>Compiling...
1>wmphost.cpp
1>_CE_ACTIVEX was not defined because this Windows CE SDK does not have DCOM.
1> _CE_ACTIVEX could be caused to be defined by defining _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA, but it is recommended that this be done only for single-threaded apps.
1>_ATL_NO_HOSTING was defined because _CE_ACTIVEX was not defined.
1>WINVER was defined to be 0x0400, as it was either not set or set to a lower value
1>D:/Program Files/Microsoft Visual Studio 8/VC/ce/atlmfc/include/atlhost.h(43) : fatal error C1189: #error : atlhost.h requires Hosting support (_ATL_NO_HOSTING is defined). For Windows CE platforms without DCOM support, _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA needs to be defined.
1>WMPGuids.cpp
1>PopDlgs.cpp
1>_CE_ACTIVEX was not defined because this Windows CE SDK does not have DCOM.
1> _CE_ACTIVEX could be caused to be defined by defining _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA, but it is recommended that this be done only for single-threaded apps.
1>_ATL_NO_HOSTING was defined because _CE_ACTIVEX was not defined.
1>WINVER was defined to be 0x0400, as it was either not set or set to a lower value
1>D:/Program Files/Microsoft Visual Studio 8/VC/ce/atlmfc/include/atlhost.h(43) : fatal error C1189: #error : atlhost.h requires Hosting support (_ATL_NO_HOSTING is defined). For Windows CE platforms without DCOM support, _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA needs to be defined.
1>MediaLibraryDlg.cpp
1>_CE_ACTIVEX was not defined because this Windows CE SDK does not have DCOM.
1> _CE_ACTIVEX could be caused to be defined by defining _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA, but it is recommended that this be done only for single-threaded apps.
1>_ATL_NO_HOSTING was defined because _CE_ACTIVEX was not defined.
1>WINVER was defined to be 0x0400, as it was either not set or set to a lower value
1>D:/Program Files/Microsoft Visual Studio 8/VC/ce/atlmfc/include/atlhost.h(43) : fatal error C1189: #error : atlhost.h requires Hosting support (_ATL_NO_HOSTING is defined). For Windows CE platforms without DCOM support, _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA needs to be defined.
1>CWMPHost.cpp
1>_CE_ACTIVEX was not defined because this Windows CE SDK does not have DCOM.
1> _CE_ACTIVEX could be caused to be defined by defining _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA, but it is recommended that this be done only for single-threaded apps.
1>_ATL_NO_HOSTING was defined because _CE_ACTIVEX was not defined.
1>WINVER was defined to be 0x0400, as it was either not set or set to a lower value
1>D:/Program Files/Microsoft Visual Studio 8/VC/ce/atlmfc/include/atlhost.h(43) : fatal error C1189: #error : atlhost.h requires Hosting support (_ATL_NO_HOSTING is defined). For Windows CE platforms without DCOM support, _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA needs to be defined.
1>CWMPEventDispatch.cpp
1>_CE_ACTIVEX was not defined because this Windows CE SDK does not have DCOM.
1> _CE_ACTIVEX could be caused to be defined by defining _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA, but it is recommended that this be done only for single-threaded apps.
1>_ATL_NO_HOSTING was defined because _CE_ACTIVEX was not defined.
1>WINVER was defined to be 0x0400, as it was either not set or set to a lower value
1>D:/Program Files/Microsoft Visual Studio 8/VC/ce/atlmfc/include/atlhost.h(43) : fatal error C1189: #error : atlhost.h requires Hosting support (_ATL_NO_HOSTING is defined). For Windows CE platforms without DCOM support, _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA needs to be defined.
1>Generating Code...
1>Creating browse information file...
1>Microsoft Browse Information Maintenance Utility Version 8.00.50727
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>BSCMAKE: error BK1506 : cannot open file './Pocket PC 2003 (ARMV4)/Debug/CWMPEventDispatch.sbr': No such file or directory
1>Build log was saved at "file://d:/wince/wmpmobilesamples/CEWMPHostML/Pocket PC 2003 (ARMV4)/Debug/BuildLog.htm"

其实就是_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA 没有在编译选项定义,这样需要修改工程的设置:

具体修改如下:

1。在GENERAL选项卡的USE OF ATL一项,在下拉菜单中选择“Static Link to ATL”一项。

2.设置wmsdk的路径

3。增加预编译选项。

4,去掉不必要的链接库,atlce400.lib。

经过以上的修改,就可以编译这个项目文件,并且可以正确生成可执行文件。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qinlicang/archive/2009/02/02/3858666.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: