使用Visual Studio测试intel-galileo示例



尝试从http://ms-iot.github.io/content/16x2LCD.htm

基本上只是向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向LCD显示器写入被过度使用。

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

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.Arduino1.0.5\build\native\include中。对于Print.h,我添加了:

#ifndef _PRINT_H
#define _PRINT_H
class Print
{
// Rest of print class
}
#endif

对于Stream.h,我更改了:

enter code here class流:公共打印->class流

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

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

相关内容

  • 没有找到相关文章

最新更新