问题描述
我正在用 C 语言为 Zolertia 模块做一个项目,但是在尝试编译它时出现错误。 '_gettimeofday_r'函数好像有点问题。
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include "contiki.h"
#include <time.h>
#include <sys/time.h>
/*---------------------------------------------------------------------------*/
PROCESS(temp_hum_fog,"Controle de Incendio");
AUTOSTART_PROCESSES(&temp_hum_fog);
/*---------------------------------------------------------------------------*/
static struct etimer et;
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(temp_hum_fog,ev,data)
{
PROCESS_BEGIN();
int16_t temp,hum,id,subid,graph,integer,fraction,fumo,c;
time_t current_time;
struct tm *info;
int hour;
while(1){
etimer_set(&et,CLOCK_SECOND);
PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));
id=0;subid=0;graph=0;
int i;
for (i=1;i<19;i++){
id=id+1;
switch(id){
case 1:
c=19;
break;
case 2:
c=14;
break;
case 3:
c=14;
break;
case 4:
c=12;
break;
case 5:
c=11;
break;
case 6:
c=17;
break;
case 7:
c=14;
break;
case 8:
c=16;
break;
case 9:
c=14;
break;
case 10:
c=16;
break;
case 11:
c=16;
break;
case 12:
c=15;
break;
case 13:
c=18;
break;
case 14:
c=21;
break;
case 15:
c=13;
break;
case 16:
c=10;
break;
case 17:
c=14;
break;
case 18:
c=24;
break;
}
int z;
for(z=1;z<=c;z++){
subid=subid+1;
time(¤t_time);
info=localtime(¤t_time);
hour=(info->tm_hour)-1;
//printf("%d\n",hour);
int ho;
for (ho=0;ho<=hour;ho++){
temp = rand() % 45;
hum = rand() % (85-5)+5;
fumo = rand() % 1;
integer = temp/hum;
fraction = temp%hum * 100 / hum;
graph = graph +1;
printf("ID: %d\n Sub ID: %d\nTemperatura:%d ºC\nHumidade:%d HR\nIndice de Risco de Deflagaçao de Incendio:%d.%02d\n Fumo: %d\nHora: %d\n",temp,graph);
}
graph = 0;
}
}
}
这是尝试编译时发生的错误:
user@iot-workshop:~/Desktop/Projeto$ make
using saved target 'zoul'
CC ../../contiki//cpu/cc2538/./ieee-addr.c
CC ../../contiki//cpu/cc2538/cc2538.lds
CC ../../contiki//cpu/cc2538/./startup-gcc.c
CC ines_projecto.c
LD ines_projecto.elf
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/armv7-m/libc.a(lib_a-gettimeofdayr.o): In function `_gettimeofday_r':
/build/newlib-5zwpxE/newlib-2.2.0+git20150830.5a3d536/build/arm-none-eabi/armv7-m/newlib/libc/reent/../../../../../../newlib/libc/reent/gettimeofdayr.c:71: undefined reference to `_gettimeofday'
collect2: error: ld returned 1 exit status
../../contiki//cpu/cc2538/Makefile.cc2538:100: recipe for target 'ines_projecto.elf' Failed
make: *** [ines_projecto.elf] Error 1
rm obj_zoul/startup-gcc.o ines_projecto.co
我还将包括我的 Makefile:
DEFInes+=PROJECT_CONF_H=\"project-conf.h\"
CONTIKI_PROJECT = ines_projecto
all: $(CONTIKI_PROJECT)
CONTIKI = ../../contiki/
include $(CONTIKI)/Makefile.include
我已经尝试寻找解决方案,但找不到任何解决方案。我想可能是我忘记添加一些库了,但我不认为是这样。
有人知道为什么会这样吗?
非常感谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)