2016-05-20 19 views
1

Я только что начал с iotivity и читал документацию. На странице this setup page под заголовком , в котором запущены образцы C++, он рассказывает, как запускать примеры, но до этого я должен сначала их создать, и, похоже, страница Build the C++ samples, о которой идет речь, отсутствует.Иотивность: постройте примеры на C++

Когда я попытался построить примеры обычным способом, используя g++, он дал некоторые недостающие ошибки заголовка, что означает, что это не правильный путь или потребует больших усилий.

Кто-нибудь знает, как создать пакет примеров с выпуском iotivity?

+0

@Amadeus: Ой, извините ... Теперь его штраф –

+0

По ссылке, которую вы указали, нет заголовка **, запускающего образцы C++ ** – Amadeus

+0

@Amadeus: поиск ** запуска образцов ** –

ответ

0

Поместите следующий Makefile в iotivity/ресурсов/примеры каталога:

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 [email protected] $^ $(CFLAGS) 

#Build the simpleserver executable 
all:simpleserver simpleclient 
simpleserver:$(SERV_OBJ) 
    $(CC) -o [email protected] $^ $(CFLAGS) 

#Build the simpleclient executable 
simpleclient:$(CLIENT_OBJ) 
    $(CC) -o [email protected] $^ $(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 
-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.

Надеется, что это помогает

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)