1

我刚开始使用 iotivity 并一直在阅读文档。在此设置页面上,在运行 c++ 示例的标题下,它说明了如何运行示例,但在此之前我应该​​先构建它们,并且Build the C++ samples它所指的页面似乎丢失了。

当我尝试使用 以正常方式构建示例时g++,它给出了一些缺少的标头错误,这意味着这不是正确的方法或者需要付出很多努力。

有人知道如何使用 iotivity 版本构建示例包吗?

4

3 回答 3

0

我进行了很多研究以找到为 c++ 示例生成可执行文件的位置,最终找到了路径。

在 64 位 Ubuntu 14.04 LTS 上,当 iotivity 构建如下:

$scons

/iotivity/out/linux/x86_64/release/resource/examples可执行文件是在其中存在的代码的路径中创建的,/iotivity/resource/examples因此您只需转到/iotivity/out/linux/x86_64/release/resource/examples并执行 simpleserver( ./simpleserver ) 和 simpleclient( ./simpleclient )

于 2017-03-08T10:06:28.420 回答
0

将以下生成文件放在iotivity/resource/examples目录中:

IDIR=-I../include -I./../csdk/stack/include/ -I./../c_common/ -I./../oc_logger/include
CC=g++
CFLAGS=-Wall -std=c++11 $(IDIR) -loc -loctbstack -loc_logger -lpthread
SERV_OBJ = simpleserver.o
CLIENT_OBJ = simpleclient.o

%.o: %.cpp
    $(CC) -c -o $@ $^ $(CFLAGS)

#Build the simpleserver executable
all:simpleserver simpleclient
simpleserver:$(SERV_OBJ)
    $(CC) -o $@ $^ $(CFLAGS)

#Build the simpleclient executable
simpleclient:$(CLIENT_OBJ)
    $(CC) -o $@ $^ $(CFLAGS)

然后点击make终端。然后在两个不同的终端上执行simpleclient和。simpleserver如果您收到错误消息:

./simpleclient: error while loading shared libraries: liboc.so: cannot open shared object file: No such file or directory

键入以下内容:

export LD_LIBRARY_PATH=../../out/linux/x86_64/release
于 2016-05-21T10:23:53.273 回答
-2

查看有关 IoTivity 支持(和不支持)示例的此页面:

https://wiki.iotivity.org/examples#

cd ${project_dir}/out/${TARGET_OS}/${TARGET_ARCH}/${BUILD_MODE}/resource/examples/
killall simpleserver simpleclient # make sure none are running

./simpleserver 2>&1 | tee simpleserver.log.txt &
./simpleclient 2>&1 | tee simpleclient.log.txt 

一些 c++ 示例在 1.3.0 中不起作用,而 1.2.1 应该没问题

但是如果你想从主树之外构建其他示例,我制作了一个使用 gnu make 的专用项目。

希望这可以帮助

于 2016-11-11T21:28:10.620 回答