【问题标题】:Can we Create Smart Device Project in VIsual Studio 2015 Professional我们可以在 VIsual Studio 2015 Professional 中创建智能设备项目吗
【发布时间】:2015-09-13 03:22:12
【问题描述】:

我很快就会得到 VS 2015 Pro。我可以为 windows CE 版本 5 和 6 创建智能设备项目吗?

【问题讨论】:

    标签: windows visual-studio windows-ce


    【解决方案1】:

    不,你不能。

    Visual Studio 2010 does not support 用于 Windows Phone OS 7.0 之前的 Windows Phone 版本的移动应用程序开发。 2015也不支持。

    您必须使用Visual Studio 2008

    Here's some download links,不要忘记服务包。 不同的visual studio版本共存得很好,现在我安装了3个版本(2008、2012、2013),到目前为止没有问题。

    【讨论】:

      【解决方案2】:

      在某些情况下,您可以。此博客详细介绍了如何使用 Visual Studio 2012 完成类似的任务:

      http://geekswithblogs.net/WernerWillemsens/archive/2013/09/13/building-windows-ce-6-or-7-smart-device-application-with.aspx

      http://geekswithblogs.net/WernerWillemsens/archive/2013/09/13/154016.aspx

      引自网站:

      以下是将适用于 Visual Studio 2008 的 Windows CE 6 SDK(以下称为“MyDevice6 (x86)”)转换为适用于 Visual Studio 2012 的新 SDK(以下称为“MyDevice6”)的详细步骤。虽然看起来有很多步骤要遵循,但我们只是将几个文件夹复制到一个新位置并编辑一些文件来创建这个新的 Visual Studio 2012 兼容 SDK for Windows CE 6(同样适用于 Windows CE 7 SDK):

      第 1 步:属性表

      • 通过从 C:\Program Files\MSBuild\Microsoft.Cpp\v4 复制(并重命名)文件夹来创建一个新的 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6 文件夹。 0\V110\Platforms\MyDevice8。
      • 将文件重命名为 (“MyDevice8” -> “MyDevice6”)
        • C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.Common.props
        • C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.default.props
        • C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.props
        • C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\ Microsoft.Cpp.MyDevice6.targets
        • C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\ Microsoft.Cpp.MyDevice6.wce600.props
        • C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\ Microsoft.Cpp.MyDevice6.wce600.targets
      • 打开对这些文件夹具有管理员权限(写入权限)的文本编辑器(以管理员身份运行)
      • 浏览所有 6 个文件,并将这些文件中涉及 MyDevice8 的所有内容重命名为 MyDevice6,将 CE800 重命名为 wce600

      第 2 步:注册表

      • 使用文本编辑器打开 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
      • 查找 $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Tools\SDKs\MyDevice6)sdk\

      这是对您希望用于编译 Windows CE 6/7 智能设备项目的系统上需要存在的注册表项的引用。 Visual Studio 2012 使用此密钥来识别您的 SDK(Windows CE 平台配置)。使用 Regedit.exe 手动创建此密钥。您还会在此处找到“MyDevice8” SDK 密钥,以它为例。

      • 您需要使用(默认)REG_SZ 数据“C:\Program Files\Windows CE Tools\SDKs\MyDevice6\”创建密钥 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Tools\SDKs\MyDevice6

      第 3 步:文件夹结构

      • 将 Visual Studio 2008 “CE”文件夹从 C:\Program Files\Microsoft Visual Studio 9.0\VC\ce 复制到 C:\Program Files\Windows CE Tools\SDKs\MyDevice6\Sdk
      • 将“Windows CE Tools”文件夹从 C:\Program Files\Windows CE Tools\wce600\MyDevice6 (x86) 复制到 C:\Program Files\Windows CE Tools\SDKs\MyDevice6

      您的文件夹结构应如下所示:

      第 4 步:二进制工具文件夹

      • 使用文本编辑器打开 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
      • 如下调整标签(注意顺序)
        • 来自 $(SdkRootPath)bin\i386;$(SdkRootPath)bin\i386\x86;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$( ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);$(VCINSTALLDIR)\bin;
        • 到 $(SdkRootPath)bin\x86_cex86;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32 );$(FxCopDir);$(PATH);$(VCINSTALLDIR)\bin;

      第 5 步:C++ 包含标头文件夹

      • 使用文本编辑器打开 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
      • 如下调整标签(注意顺序)
        • 从 $(SdkRootPath)crt\Include;$(SdkRootPath)crt\Include\sys;$(SdkRootPath)crt\Include\stl;$(SdkRootPath)atlmfc\Include;$(SdkRootPath)Inc;
        • 到 $(SdkRootPath)Include;$(SdkRootPath)wce600\Include\x86;$(SdkRootPath)atlmfc\Include;

      第 6 步:C++ 库文件夹

      • 使用文本编辑器打开 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
      • 如下调整标签(注意顺序)
        • 来自 $(SdkRootPath)crt\Lib\x86;$(SdkRootPath)atlmfc\lib\x86;$(SdkRootPath)Lib\x86\debug;$(SdkRootPath)Lib\x86\retail;
        • 到 $(SdkRootPath)wce600\Lib\x86; $(SdkRootPath)atlmfc\lib\x86; $(SdkRootPath)Lib\x86;

      第 7 步:CE 附加文件

      • 使用文本编辑器打开 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
      • 将标签中的所有“110”文件重命名为“90”文件
        • 示例:msvcr90d.dll|$(SdkRootPath)crt\bin\x86\|temp\$(ProjectName)|0;msvcp90d.dll|$(SdkRootPath)crt\bin\x86\|temp\$(ProjectName) |0;

      第 8 步:链接器附加依赖项

      • 使用文本编辑器打开 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
      • 调整部分中的标记
        • 来自 coredll.lib;%(AdditionalDependencies)
        • 到 coredll.lib;corelibc.lib;ole32.lib;oleaut32.lib;uuid.lib;commctrl.lib;atlosapis.lib;%(AdditionalDependencies)

      第 9 步:编译器预处理器定义

      • 使用文本编辑器打开 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\MyDevice6\PlatformToolsets\wce600\Microsoft.Cpp.MyDevice6.wce600.props
      • 在节中调整 标记
        • 来自 UNDER_CE;WINCE;_WIN32_WCE=0x800;%(PreprocessorDefinitions)
        • 到 UNDER_CE;WINCE;_WIN32_WCE=0x600;%(PreprocessorDefinitions)
      • 删除 /arch:IA32 %(AdditionalOptions)

      第 10 步:避免链接器错误“链接:致命错误 LNK1104:无法打开文件 'OLDNAMES.lib'”

      • 将 /NODEFAULTLIB:"oldnames.lib" %(AdditionalOptions) 添加到该部分

      这将告诉链接器忽略名为“oldnames.lib”的默认库,它在 Windows CE 中没有用处

      瞧,如果您已经实现了前面的所有步骤,您的适用于 Visual Studio 2008 的 Windows CE 6 SDK 将转换为适用于 Visual Studio 2012 的 Windows CE 6 SDK。同样,这也适用于 Windows CE7 SDK。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-14
        • 1970-01-01
        • 1970-01-01
        • 2017-08-22
        • 2016-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多