极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14843|回复: 15

编译不成功

[复制链接]
发表于 2013-7-31 23:02:58 | 显示全部楼层 |阅读模式
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:32:22: error: WProgram.h: No such file or directory
In file included from F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:33:
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\/DS1307.h:78: error: 'byte' does not name a type
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\/DS1307.h:114: error: 'byte' has not been declared
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In constructor 'DS1307_RAM:S1307_RAM()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:60: error: 'cell' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In constructor 'DS1307:S1307(uint8_t, uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:68: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:68: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getTimeStr(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:137: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getDateStr(uint8_t, uint8_t, char)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:168: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getDOWStr(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:283: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:289: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:292: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:295: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:298: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:301: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:304: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:307: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'char* DS1307::getMonthStr(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:317: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:323: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:326: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:329: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:332: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:335: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:338: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:341: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:344: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:347: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:350: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:353: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:356: warning: deprecated conversion from string constant to 'char*'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: At global scope:
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:399: error: variable or field '_sendStart' declared void
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:399: error: 'byte' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_sendStop()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:411: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:411: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:412: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:412: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:413: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:415: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_sendNack()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:420: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:420: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:421: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:421: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:422: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:425: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_sendAck()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:430: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:430: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:431: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:431: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:433: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:435: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_waitForAck()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:440: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:440: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:441: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:441: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:442: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:443: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'uint8_t DS1307::_readByte()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:448: error: 'INPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:448: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:455: error: 'HIGH' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:455: error: 'digitalWrite' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:456: error: 'digitalRead' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:457: warning: suggest parentheses around + or - inside shift
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:458: error: 'delayMicroseconds' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:459: error: 'LOW' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::_writeByte(uint8_t)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:465: error: 'OUTPUT' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:465: error: 'pinMode' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:466: error: 'MSBFIRST' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:466: error: 'shiftOut' was not declared in this scope
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'void DS1307::writeBuffer(DS1307_RAM)':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:555: error: 'class DS1307_RAM' has no member named 'cell'
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp: In member function 'DS1307_RAM DS1307::readBuffer()':
F:\arduino-1.0.4-windows\arduino-1.0.4\libraries\Time\DS1307.cpp:576: error: 'class DS1307_RAM' has no member named 'cell'
回复

使用道具 举报

 楼主| 发表于 2013-7-31 23:04:00 | 显示全部楼层
求各路大神相助{:soso_e183:}
回复 支持 反对

使用道具 举报

发表于 2013-7-31 23:12:59 | 显示全部楼层
DS1307.cpp  line22 ,22行贴出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 08:44:07 | 显示全部楼层
伯德 发表于 2013-7-31 23:12
DS1307.cpp  line22 ,22行贴出来

大神可不可以具体一点,小弟愚蠢
回复 支持 反对

使用道具 举报

发表于 2013-8-1 08:49:02 | 显示全部楼层
本帖最后由 伯德 于 2013-8-1 08:50 编辑
hdxabout 发表于 2013-8-1 08:44
大神可不可以具体一点,小弟愚蠢


我的意思是你把出错地方的程序列出来,或者你把整个程序代码上传。
WProgram.h: No such file or directory 看起来是头文件加错了。加了<arduino.h>了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 08:52:55 | 显示全部楼层
伯德 发表于 2013-8-1 08:49
我的意思是你把出错地方的程序列出来,或者你把整个程序代码上传。
WProgram.h: No such file or dire ...

#include<DS1307RTC.h>
#include<Time.h>
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
lcd.backlight();
}
void loop()
{
tmElements_t tm;
if(RTC.read(tm))
{
  lcd.setCursor(0,0);
  lcd.print("OK,Time=");
  lcd.print(tm.Hour);
  lcd.print(':');
  lcd.print(tm.Minute);
  lcd.print(':');
  lcd.print(tm.Second);
  lcd.setCursor(1,0);
  lcd.print("Date (D/M/Y) = ");
  lcd.print(tm.Day);
  lcd.print('/');
  lcd.print(tm.Month);
  lcd.print('/');
  lcd.print(tmYearToCalendar(tm.Year));
}
delay(3000);
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 08:54:21 | 显示全部楼层
伯德 发表于 2013-8-1 08:49
我的意思是你把出错地方的程序列出来,或者你把整个程序代码上传。
WProgram.h: No such file or dire ...

我没有那个Arduino的库函数
回复 支持 反对

使用道具 举报

发表于 2013-8-1 09:00:33 | 显示全部楼层
hdxabout 发表于 2013-8-1 08:52
#include
#include
#include

我缺少库文件:
aasd:7: error: 'LiquidCrystal_I2C' does not name a type
可以上传一个,还是哪里可以下载
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 09:05:42 | 显示全部楼层
{:soso_e100:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 09:06:46 | 显示全部楼层
伯德 发表于 2013-8-1 09:00
我缺少库文件:
aasd:7: error: 'LiquidCrystal_I2C' does not name a type
可以上传一个,还是哪里可以 ...

已上传,对了,你知道哪里可以下载这些库文件吗?
回复 支持 反对

使用道具 举报

发表于 2013-8-1 09:25:12 | 显示全部楼层
本帖最后由 伯德 于 2013-8-1 09:33 编辑
hdxabout 发表于 2013-8-1 09:06
已上传,对了,你知道哪里可以下载这些库文件吗?


Time.h我在这下载了http://playground.arduino.cc/Code/time ,对吧
回复 支持 反对

使用道具 举报

发表于 2013-8-1 09:27:48 | 显示全部楼层
伯德 发表于 2013-8-1 09:25
Time.h我在这下载了 ,对吧

if(RTC.read(tm)) 这句话我编不过去。
aasd:13: error: could not convert 'DS1307RTC::read(((tmElements_t&)(& tm)))' to 'bool'

看起来read的返回值是void。
回复 支持 反对

使用道具 举报

发表于 2013-8-1 09:31:08 | 显示全部楼层
本帖最后由 伯德 于 2013-8-1 09:32 编辑

改了
  1.         tmElements_t tm;
  2.         //if(RTC.read(tm))
  3.         if(1)
  4.         {
  5.                 RTC.read(tm);
  6.                 lcd.setCursor(0,0);
复制代码
编译通过。
应该是你time库有问题。 你试试我附件的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 09:51:29 | 显示全部楼层
伯德 发表于 2013-8-1 09:31
改了        tmElements_t tm;
        //if(RTC.read(tm))
        if(1)

现在可以了 我的Time库真的有问题 谢谢你
回复 支持 反对

使用道具 举报

发表于 2013-8-1 10:02:29 | 显示全部楼层
hdxabout 发表于 2013-8-1 09:51
现在可以了 我的Time库真的有问题 谢谢你

给点个人意见:
1.碰到类似问题,先看出错信息的第一条;因为我没有复现你的问题,不然可以看看是库文件哪里坏了。
2.发问题的时候,要提供关键的代码部分,用论坛代码工具<>框起来,方便阅读。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-6-4 01:39 , Processed in 0.049301 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表