Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

OpenWeave Oluşturun

OpenWeave oluşturmak için desteklenen birincil araç zinciri GNU Autotools'tur.

Sistem gereksinimleri

Tüm büyük işletim sistemi platformları, OpenWeave'in oluşturulmasını ve çapraz derlenmesini destekler. Listelenen alet zincirleri resmi olarak Nest tarafından test edilmiştir.

Linux

Gereksinimler: Ubuntu 14.04 (Trusty) resmi olarak desteklenmektedir, ancak benzer Linux tabanlı sistemler çalışmalıdır.
C / C ++, Java, Python bağlamaları
toolchain gcc 4.6.3
Hedefler i386-bilinmeyen-linux-gnu
x86_64-bilinmeyen-linux-gnu
C / C ++, Java bağlamaları
toolchain gcc 4.6
Hedefler kol-bilinmeyen-linux-robot
ARMv7-bilinmeyen-linux-robot
i386-bilinmeyen-linux-robot

Mac OS X

Gereksinimler: Sembolik bağlantılarla bir dizin alt ağacını diğerine klonlamak için XQuartz .
C / C ++, Cocoa bağlamaları
Hedefler ARMv7-elma-Darwin-ios
armv7s-elma-Darwin-ios
i386-elma-Darwin-ios
C / C ++, Python bağlamaları
toolchain LLVM / clang 3.5 (6.0)
Hedefler i386-elma-Darwin-macosx
x86_64-elma-Darwin-macosx

, Windows

Gereksinimler: Linux için Cygwin komut satırı desteği.
C / C ++ bağlamaları
toolchain gcc 4.8.3
Hedefler i686-pc-cygwin

Gömülü

C / C ++ bağlamaları
toolchain gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
Hedefler * -Bilinmeyen-linux kol *
kol * -Bilinmeyen-freertos-lwip

Ön şartlar

Desteklenen bir araç zincirine ek olarak, OpenWeave oluşturmadan önce aşağıdaki paketleri ve araçları kurmanızı öneririz.

Paketler

Linux:

sudo apt-get install python-pip python-setuptools bridge-utils /
               libglib2.0-dev libdbus-1-dev libudev-dev /
               libical-dev libreadline-dev

Linux ve Mac OS X:

pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template

GNU Autotools

OpenWeave, derleme sistemi için GNU Autotools'a bağlıdır. Başarılı bir şekilde OpenWeave oluşturmak için GNU Autotools'un bir sürümü mevcut olmalıdır. Autotools'un sistem tarafından sağlanan sürümünü Linux'ta kullanmak için:

sudo apt-get install libtool autoconf automake

GNU Autotools'un hazır olmadığı veya kurulamadığı sistemler (örneğin, Mac OS) için veya sistem tarafından sağlanan sürümün kullanıma hazır sağlam bir yapı üretimi sağlamadığı sistemlerde Nest Labs özelleştirilmiş, anahtar teslimi bir yapı oluşturmuştur. GNU Autotools'a dayalı sistem çerçevesi. Sistem, yapı oluşturmada kullanılan program kümesini bilinen iyi bir sürüme sabitler. Araçların belirli bir sürüme sabitlenmesi, aynı zamanda otomatik araçların çıktısında görece düşük karmaşa sağlar, böylece öngörülebilir geliştirici ve destek deneyimi sağlar. GNU Autotools'un Nest Labs yapısı OpenWeave ile kullanılması tavsiye edilir.

Nest Labs GNU Autotools oluşturmak için:

git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools

mutlu

OpenWeave'de bulunan test komut dosyalarını çalıştırmak veya Weave'i simüle edilmiş topolojilerde kullanmak için Linux makinenize Happy kurun. Daha fazla bilgi için Mutlu kurulum bölümüne bakın.

Bağımsız uygulama

Bir masaüstü veya sunucu geliştirme ana bilgisayarı için varsayılan OpenWeave Bağımsız uygulamasını kullanın.

  1. OpenWeave deposunu klonlayın:
    git clone https://github.com/openweave/openweave-core.git
  2. OpenWeave Bağımsız uygulamasını oluşturun:
    cd openweave-core
    make -f Makefile-Standalone

Derleme özelleştirmesi için hangi derleme anahtarlarının kullanılabileceğini öğrenmek için Makefile-Standalone ile help bayrağını kullanın.

make -f Makefile-Standalone help

Örneğin, Weave hata ayıklama kodunu ve günlük kaydını etkinleştirmek için:

make -f Makefile-Standalone DEBUG=1

Proje bağlama

  1. OpenWeave deposunu klonlayın:
    git clone https://github.com/openweave/openweave-core.git
  2. GNU Autotools için derleme ortamını yapılandırın:
    cd openweave-core
    ./bootstrap
    ./configure
  3. OpenWeave oluşturun:
    make all
  4. Çıktıyı proje bağlantısı için ayrı bir konuma hazırlayın:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

<openweave-output> sonra, proje bağlantısı için <openweave-output> altındaki dizinleri kullanın:

  • /usr/local/include - genel üstbilgiler
  • /usr/local/lib - kitaplıklar

Android ve iOS

Android ve iOS proje bağlantısı için kitaplıklar oluşturmak üzere platforma özgü Makefiles :

make -f Makefile-Android
make -f Makefile-iOS

Derleme özelleştirmesi için hangi derleme anahtarlarının kullanılabileceğini öğrenmek için Makefile- <platform> ile help bayrağını kullanın. Örneğin:

make -f Makefile-Android help
make -f Makefile-iOS help

Yapılandırma

OpenWeave'i çeşitli komut dosyaları ve başlıklarla yapılandırmadan önce, ilgili yapı dosyalarını önyüklemek için autotools'u kullanın:

./bootstrap

Bu adımın, bir ağaç kontrolünden sonra ve daha sonra configure.ac veya Makefile.am üzerindeki herhangi bir değişiklikten sonra bir kez gerçekleştirilmesi gerekir. Yalnızca yapı yapılandırmalarını veya hedefleri değiştirirken tekrarlanması gerekmez.

Komut

Yapılandırılabilir seçenekler hakkında daha fazla bilgi edinmek için dahil edilen yapılandırma komut dosyasıyla --help bayrağını kullanın.

./configure --help

Örneğin, BlueZ desteği olmadan OpenWeave'i yapılandırmak için:

./configure --without-bluez

Başlıkları

Dahil edilen Makefiles dosyaları, derleme zamanında sabitleri tanımlayan iki başlık dosyası kullanır:

Projeye özgü konfigürasyon başlıkları da sağlanabilir. Bu dosyaları proje dizininize yerleştirin — onları OpenWeave havuzuna yerleştirmeyin. Yapılandırma sırasında her dosyanın konumunu belirtmek için uygun yapılandırma seçeneğini kullanın:

Başlık dosyası Yapılandırma seçeneği
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

Örneğin, OpenWeave'i ~/my-project/headers bulunan projeye özgü WeaveProjectConfig.h dosyasını kullanacak şekilde yapılandırmak için:

./configure --with-weave-project-includes=~/my-project/headers