继续找不到对 rpl_set_root() 的引用
Contiki ng cant find reference to rpl_set_root()
我试图在 contiki-ng 上 运行 为 contiki3.x 编写的代码,但我收到一个编译错误,指出对 `rpl_set_root' 的未定义引用,即使我包含“net/routing/rpl-classic/rpl.h"。当我打开源代码 rpl-classic/rpl.h 和 rpl-classic/rpl.c 我可以清楚地看到函数在那里
以下代码产生编译错误。
uip_ds6_addr_add(&ipaddr, 0, ADDR_MANUAL);
root_if = uip_ds6_addr_lookup(&ipaddr);
if(root_if != NULL) {
rpl_dag_t *dag;
dag = rpl_set_root(RPL_DEFAULT_INSTANCE,(uip_ip6addr_t *)&ipaddr);
uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0);
rpl_set_prefix(dag, &ipaddr, 64);
} else {
printf("No DAG created\n");
}
Contiki-NG默认开启了RPL-lite,没有这个功能
要切换到 RPL 经典版,请将此行添加到应用程序的 Makefile 中:
MAKE_ROUTING = MAKE_ROUTING_RPL_CLASSIC
然后 make clean
并再次构建应用程序。
我试图在 contiki-ng 上 运行 为 contiki3.x 编写的代码,但我收到一个编译错误,指出对 `rpl_set_root' 的未定义引用,即使我包含“net/routing/rpl-classic/rpl.h"。当我打开源代码 rpl-classic/rpl.h 和 rpl-classic/rpl.c 我可以清楚地看到函数在那里
以下代码产生编译错误。
uip_ds6_addr_add(&ipaddr, 0, ADDR_MANUAL);
root_if = uip_ds6_addr_lookup(&ipaddr);
if(root_if != NULL) {
rpl_dag_t *dag;
dag = rpl_set_root(RPL_DEFAULT_INSTANCE,(uip_ip6addr_t *)&ipaddr);
uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0);
rpl_set_prefix(dag, &ipaddr, 64);
} else {
printf("No DAG created\n");
}
Contiki-NG默认开启了RPL-lite,没有这个功能
要切换到 RPL 经典版,请将此行添加到应用程序的 Makefile 中:
MAKE_ROUTING = MAKE_ROUTING_RPL_CLASSIC
然后 make clean
并再次构建应用程序。