首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >contiki应用程序中对“contiki”的引用未定义

contiki应用程序中对“contiki”的引用未定义
EN

Stack Overflow用户
提问于 2019-04-15 15:43:21
回答 1查看 503关注 0票数 0

是否可以在contiki-cooja模拟器中使用math.h库?我在ubuntu 18.04 LTS上使用contiki 3.0

我尝试在hello-world应用程序的makefile中添加LDFLAGS += -lm。此外,我还尝试在Makefile.include文件中添加-lm。事情并不是这样的。添加-lm的正确位置是什么。

hello-world.c

代码语言:javascript
复制
#include "contiki.h"

#include <stdio.h> /* For printf() /
#include <math.h>
#define DEBUG DEBUG_PRINT
static float i;
/---------------------------------------------------------------------------/
PROCESS(hello_world_process, "Hello world process");
AUTOSTART_PROCESSES(&hello_world_process);
/---------------------------------------------------------------------------/
PROCESS_THREAD(hello_world_process, ev, data)
{
PROCESS_BEGIN();
i = 2.1;
printf("Hello, world\n");
printf("%i\n", (int)pow(10,i));
printf("%i\n", (int)(M_LOG2Ei));
PROCESS_END();
}
/---------------------------------------------------------------------------/

Makefile

代码语言:javascript
复制
CONTIKI_PROJECT = hello-world
all: $(CONTIKI_PROJECT)

CONTIKI = ../..
include $(CONTIKI)/Makefile.include
LDFLAGS += -lm
EN

回答 1

Stack Overflow用户

发布于 2019-04-15 16:48:59

首先,您可以使用以下命令将外部库添加到Contiki:

代码语言:javascript
复制
TARGET_LIBFILES = -lm

请确保在include $(CONTIKI)/Makefile.include行之前执行此操作,而不是在之后!

第二,你是为哪种平台编译的?msp430平台的数学库中没有pow函数。它们只有对单精度浮点数进行运算的powf函数,以及对整数进行运算的内置(内在)函数pow

如果您想对浮点数进行操作,请将代码更改为:

代码语言:javascript
复制
float f = 2.1;
pow(10, f);

到这个

代码语言:javascript
复制
float f = 2.1;
powf(10, f);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55684547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档