Google, Siyah topluluklar için ırksal eşitliği ilerletmeye kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

OpenWeave Oluştur

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

Sistem gereksinimleri

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

Linux

Gereksinimler: Ubuntu 14.04 (Trusty) resmi olarak desteklenmektedir, ancak benzer bir Linux tabanlı sistem ç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: XQuartz bir dizin alt ağacını diğerine sembolik bağlarla klonlamak için.
C / C ++, Kakao bağları
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

pencereler

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 Otomobilleri

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

 sudo apt-get install libtool autoconf automake 

GNU Autotools'un kolayca kullanılamadığı veya kurulamadığı sistemler (örneğin, Mac OS) veya sistem tarafından sağlanan sürümün kutudan çıktığı gibi sağlam bir yapı oluşturma sağlamadığı sistemlerde, Nest Labs özelleştirilmiş, anahtar teslimi bir yapı oluşturdu sistem çerçevesi, GNU Autotools tabanlı. Sistem, yapım neslinde kullanılan program setini bilinen iyi bir sürüme sabitler. Araçları belirli bir sürüme sabitlemek, otomatik araçların çıktısında nispeten düşük gevşeme sağlar ve böylece öngörülebilir geliştirici ve destek deneyimine yol açar. GNU Autotools'un Nest Labs yapısının OpenWeave ile kullanılması önerilir.

Nest Labs GNU Otomatik Araçları 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 benzetim yapılmış topolojilerde Weave'i kullanmak için, Linux makinenize Happy'yi yükleyin. Daha fazla bilgi için bkz. Mutlu kurulum .

Bağımsız uygulama

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 Tek Başına uygulamasını oluşturun:
     cd openweave-core
    make -f Makefile-Standalone 

Yapı özelleştirme için hangi yapı anahtarlarının kullanılabilir olduğunu öğrenmek için Makefile-Standalone ile help bayrağını kullanın.

 make -f Makefile-Standalone help 

Örneğin, Örgü 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 Otomatik Araçları için oluşturma 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 yerleştirin:
     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 başlıklar
  • /usr/local/lib - kütüphaneler

Android ve iOS

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

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

Yapı özelleştirme için hangi yapı anahtarlarını kullanabileceğinizi öğ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'ı çeşitli komut dosyaları ve başlıklarla yapılandırmadan önce, ilgili oluşturma dosyalarını önyüklemek için otomatik araçları kullanın:

 ./bootstrap 

Bu adımın bir kez, bir ağaç ödeme işleminden sonra ve daha sonra configure.ac veya Makefile.am yapılacak herhangi bir değişiklikte gerçekleştirilmesi gerekir. Yapı yapılandırmalarını veya hedeflerini değiştirirken tekrarlanması gerekmez.

Kodlar

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

 ./configure --help 

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

 ./configure --without-bluez 

Başlıkları

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

Projeye özgü yapılandırma başlıkları da sağlanabilir. Bu dosyaları proje dizininize yerleştirin — OpenWeave deposunun içine yerleştirmeyin. Yapılandırma sırasında her bir 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 uygulamasını ~/my-project/headers dosyasında bulunan projeye özgü WeaveProjectConfig.h dosyasını kullanacak şekilde yapılandırmak için:

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