Arduino IDE File.cpp编译错误对我来说太高

时间:2016-01-06 21:49:23

标签: c++ arduino arduino-uno arduino-ide

我正在尝试为Arduino UNO制作一个实际上并不太复杂的程序,我将GPS输出记录到SD卡。

错误说:

C:\Users\Marlo\AppData\Local\Temp\build51e9795045faa8d6f671223e5d050b6f.tmp\sketch\src\File.cpp:46:17: error: definition of implicitly-declared 'SDLib::File::~File()'

File::~File(void) {

             ^

文件夹中的某些库这里有一些标准的编译输出行

exit status 1
Fehler beim Kompilieren.

^最后一行说“编译错误”

指向File.cpp是SD.h使用的库,当我制作一个简单的“打开SD - > make file - > write - > close file”程序(包括所有包含)形成我的主程序。)

包括:

#include <stdio.h>      
#include <SD.h>         //<- uses File.cpp
#include <stdint.h>     
#include <Adafruit_GPS.h>
#include <SPI.h>
#include "avr/interrupt.h"   

错误引用的代码部分是:

File.cpp

File::File(void) {
  _file = 0;
  _name[0] = 0;
  //Serial.print("Created empty file object");
}

File::~File(void) {   //<- line 46
  //  Serial.print("Deleted file object");
}

// returns a pointer to the file name
char *File::name(void) {
  return _name;
}

我没有更改File.cpp中的任何内容。

这个错误甚至意味着什么?

我很乐意分享我的代码,我只是不想粘贴整个内容并使这个帖子变得很大(但我会,如果你这么说的话),所以如果你需要的话请告诉我:)(/ p >

问候, 马龙

更新:为了找到包含错误的代码部分,我接着一个接一个的函数并在一个空白项目中编译它 - 它工作正常。没错。

然后我拿了第一部分,编译,然后添加下一个,编译,等等。 我现在在另一个文件(同一目录)中有完整的程序,它可以正常工作。

对不起,如果这只是我的电脑脑力。

1 个答案:

答案 0 :(得分:0)

  

错误:隐式声明的'SDLib :: File :: ~File()'

的定义

这通常意味着该函数未在te类定义中声明。

你有File.h存在并包含在内吗?那个析构函数在那里宣布了吗?

另见this