使用 Visual Studio 测试 intel galileo 示例

Posted

技术标签:

【中文标题】使用 Visual Studio 测试 intel galileo 示例【英文标题】:Testing intel galileo examples with Visual Studio 【发布时间】:2014-09-23 01:31:27 【问题描述】:

尝试从http://ms-iot.github.io/content/16x2LCD.htm 在 Intel Galileo 上运行一些示例代码

基本上只是将字符写入 LCD 模块。 LiquidCrystal 库不适用于 Visual Studio,因为来自不同库的复合类。基本上我得到编译错误 C2653 和其他一些错误,因为类 Print 和对象 print 用于不同的类并复合。任何人都知道修复错误的方法

    error C2011: 'Print' : 'class' type redefinition    
          class Print
                  private:  int write_error;    
    error C2039: 'print' : is not a member of 'LiquidCrystal'
          lcd.print("Hello!");
    error C2504: 'Print' : base class undefined
          class LiquidCrystal : public Print   public:
    error C2873: 'write' : symbol cannot be used in a using-declaration,
            using Print::write;
    error C2027: use of undefined type 'Print'
            using Print::write;
    error C2873: 'write' : symbol cannot be used in a using-declaration 
            using Print::write;

我认为问题是由于命名空间未被识别,并且在 LCD 类中使用 Print.h 使用 Print 写入 LCD 显示器被过度使用。

如何在 LCD 类中调用 Print 的函数,这样每次调用 Print.h 时都不会重新定义?

【问题讨论】:

欢迎堆栈溢出!除了错误之外,您可能还需要包含一些导致错误的代码,以帮助人们缩小问题范围。 【参考方案1】:

http://sixfortyfour.wordpress.com/2014/09/26/displaying-intel-galileo-ip-address-on-a-16x2-lcd/ 作为快速修复,我修改了 Print.h 和 Stream.h,这些文件位于 Galileo Project Folder\packages\Microsoft.IoT.Galileo.Arduino.1.0.5\build\native\include 中。对于 Print.h,我添加了:

#ifndef _PRINT_H
#define _PRINT_H

class Print

// Rest of print class


#endif

对于 Stream.h 我改变了:

enter code hereclass Stream : public Print -> class Stream

我检查了 github 存储库,Print.h 包含更改,Stream.h 仍然继承自 Print (https://github.com/ms-iot/galileo-sdk/tree/develop/source)。

我还修改了 RS、ENABLE、D0、D1、D2、D3 以匹配我用于 netduino 项目的 LCD 配置。

【讨论】:

以上是关于使用 Visual Studio 测试 intel galileo 示例的主要内容,如果未能解决你的问题,请参考以下文章

Intel parallel studio 2017 集成在visual studio 2013 中,现在如何集成到visual studio 2015

是否可以使用 Visual Studio 编写 intel 程序集?

visual studio2013安装及测试

Visual Studio2013的安装过程及练习测试

Windows 下 Visual Studio 2012 / Intel 编译器的 C++ 双精度失败

Visual Studio 添加.props属性表文件,以intel.realsense.props为例