Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

ওপেন ওয়েভ তৈরি করুন

ওপেনওয়েভ নির্মাণের জন্য প্রাথমিক সমর্থিত সরঞ্জামচয়ন হ'ল জিএনইউ অটোটুলস।

সিস্টেমের জন্য আবশ্যক

সমস্ত বড় ওএস প্ল্যাটফর্মগুলি ওপেনওয়েভের বিল্ডিং এবং ক্রস সংকলন সমর্থন করে। তালিকাভুক্ত সরঞ্জামচেনগুলি নেস্ট দ্বারা আনুষ্ঠানিকভাবে পরীক্ষা করা হয়েছে।

লিনাক্স

প্রয়োজনীয়তা: উবুন্টু 14.04 (ট্রাস্টি) আনুষ্ঠানিকভাবে সমর্থিত, তবে অনুরূপ কোনও লিনাক্স-ভিত্তিক সিস্টেমের কাজ করা উচিত।
সি / সি ++, জাভা, পাইথন বাইন্ডিং
Toolchains জিসিসি 4.6.3
লক্ষ্যগুলি মধ্যে i386-অজানা-লিনাক্স-GNU
, x86_64-অজানা-লিনাক্স-GNU
সি / সি ++, জাভা বাইন্ডিং
Toolchains জিসিসি 4.6
লক্ষ্যগুলি হাত-অজানা-লিনাক্স-অ্যান্ড্রয়েড
armv7-অজানা-লিনাক্স-অ্যান্ড্রয়েড
মধ্যে i386-অজানা-লিনাক্স-অ্যান্ড্রয়েড

ম্যাক ওএস এক্স

প্রয়োজনীয়তা: প্রতীকী লিঙ্কগুলির সাথে একটি ডিরেক্টরি সাবট্রি-তে অন্যের ক্লোনিংয়ের জন্য এক্সক্লার্টজ
সি / সি ++, কোকো বাইন্ডিংস
লক্ষ্যগুলি armv7-আপেল ডারউইন-iOS
armv7s-আপেল ডারউইন-iOS
মধ্যে i386-আপেল ডারউইন-iOS
সি / সি ++, পাইথন বাইন্ডিং
Toolchains এলএলভিএম / ঝাঁকুনি 3.5 (6.0)
লক্ষ্যগুলি মধ্যে i386-আপেল ডারউইন-macosx
, x86_64-আপেল ডারউইন-macosx

উইন্ডোজ

প্রয়োজনীয়তা: লিনাক্স কমান্ড লাইন সমর্থনের জন্য সাইগউইন
সি / সি ++ বাইন্ডিং
Toolchains জিসিসি 4.8.3
লক্ষ্যগুলি i686-পিসি cygwin

এমবেডেড

সি / সি ++ বাইন্ডিং
Toolchains জিসিসি 4.4.1
এলএলভিএম / ঝনঝন 3.1
এলএলভিএম / ঝনঝন 3.3
লক্ষ্যগুলি হাত * -unknown-লিনাক্স *
হাত * -unknown-freertos-lwip

পূর্বশর্ত

সমর্থিত সরঞ্জামচয়ন ছাড়াও, আমরা ওপেনওয়েভ তৈরির আগে নিম্নলিখিত প্যাকেজগুলি এবং সরঞ্জামগুলি ইনস্টল করার পরামর্শ দিই।

প্যাকেজগুলি

লিনাক্স:

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

লিনাক্স এবং ম্যাক ওএস এক্স:

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

জিএনইউ অটোটুলস

ওপেনওয়েভ তার বিল্ড সিস্টেমের জন্য জিএনইউ অটোটুলগুলির উপর নির্ভর করে। ওপেনওয়েভ সাফল্যের সাথে তৈরি করতে জিএনইউ অটটুলগুলির একটি সংস্করণ অবশ্যই উপলব্ধ। লিনাক্সে অটোটুলগুলির সিস্টেম-সরবরাহিত সংস্করণটি ব্যবহার করতে:

sudo apt-get install libtool autoconf automake

যেসব সিস্টেমের জন্য জিএনইউ অটটুলগুলি সহজেই উপলভ্য বা ইনস্টলযোগ্য নয় (উদাহরণস্বরূপ, ম্যাক ওএস) বা সিস্টেমগুলিতে সরবরাহিত সংস্করণটি বাকী কোনও বিল্ড জেনারেশন সরবরাহ করে না, নীস্ট ল্যাবগুলি একটি কাস্টমাইজড, টার্নকি বিল্ড তৈরি করেছে GNU অটোটুলগুলির উপর ভিত্তি করে সিস্টেমের কাঠামো। সিস্টেমটি একটি ভাল ভাল সংস্করণে বিল্ড জেনারেশনে ব্যবহৃত প্রোগ্রামগুলির সেট পিনগুলি পিন করে। সরঞ্জামগুলিকে একটি নির্দিষ্ট সংস্করণে পিন করা অটোটুলগুলির আউটপুটে তুলনামূলকভাবে কম মন্থনের বিষয়টিও নিশ্চিত করে যাতে ভবিষ্যদ্বাণীযোগ্য বিকাশকারী এবং সহায়তা অভিজ্ঞতার দিকে পরিচালিত করে। ওপেনওয়েভের সাথে ব্যবহারের জন্য জিএনইউ অটোটুলগুলির নেস্ট ল্যাবস বিল্ডের প্রস্তাব দেওয়া হচ্ছে।

নেস্ট ল্যাবগুলি জিএনইউ অটোটুলগুলি তৈরি করতে:

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

খুশি

ওপেনওয়েভের অন্তর্ভুক্ত টেস্ট স্ক্রিপ্টগুলি চালনা করতে, বা সিমুলেটেড টোপোলজিতে ওয়েভ ব্যবহার করতে, আপনার লিনাক্স মেশিনে হ্যাপি ইনস্টল করুন। আরও তথ্যের জন্য শুভ সেটআপ দেখুন।

স্বতন্ত্র অ্যাপ্লিকেশন

কোনও ডেস্কটপ বা সার্ভার ডেভলপমেন্ট হোস্টের জন্য ডিফল্ট ওপেনওয়ে স্ট্যান্ডলোন অ্যাপ্লিকেশনটি ব্যবহার করুন।

  1. ওপেনওয়েভ সংগ্রহস্থলটি ক্লোন করুন: 2eda 48f381
  2. ওপেন ওয়েভ স্ট্যান্ডেলোন অ্যাপ্লিকেশনটি তৈরি করুন:
    cd openweave-core
    make -f Makefile-Standalone

বিল্ড কাস্টমাইজেশনের জন্য কী বিল্ড স্যুইচগুলি উপলভ্য তা শিখতে Makefile-Standalone সহ help পতাকা ব্যবহার করুন।

make -f Makefile-Standalone help

উদাহরণস্বরূপ, ওয়েভ ডিবাগ কোড এবং লগিং সক্ষম করতে:

make -f Makefile-Standalone DEBUG=1

প্রকল্পের সংযোগ

  1. ওপেনওয়েভ সংগ্রহস্থলটি ক্লোন করুন:
    git clone https://github.com/openweave/openweave-core.git
  2. জিএনইউ অটোটুলগুলির জন্য বিল্ড এনভায়রনমেন্ট কনফিগার করুন:
    cd openweave-core
    ./bootstrap
    ./configure
  3. ওপেন ওয়েভ তৈরি করুন:
    make all
  4. প্রকল্পের সংযোগের জন্য আউটপুটটিকে পৃথক স্থানে স্টেজ করুন:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

মঞ্চায়নের পরে, প্রকল্প লিঙ্কের জন্য <openweave-output> অধীনে ডিরেক্টরিগুলি ব্যবহার করুন:

  • /usr/local/include - পাবলিক শিরোনাম
  • /usr/local/lib - লাইব্রেরি

অ্যান্ড্রয়েড এবং আইওএস

অ্যান্ড্রয়েড এবং আইওএস প্রকল্পের সংযোগের জন্য লাইব্রেরি তৈরি করতে, প্ল্যাটফর্ম-নির্দিষ্ট Makefiles ব্যবহার করুন:

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

বিল্ড কাস্টমাইজেশনের জন্য কী বিল্ড স্যুইচগুলি উপলভ্য তা শিখতে Makefile- <platform> সহ help পতাকা ব্যবহার করুন। উদাহরণ স্বরূপ:

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

কনফিগারেশন

বিভিন্ন স্ক্রিপ্ট এবং শিরোলেখ দিয়ে ওপেনওয়ে কনফিগার করার আগে, সম্পর্কিত বিল্ড ফাইলগুলি বুটস্ট্র্যাপ করার জন্য অটোটুলগুলি ব্যবহার করুন:

./bootstrap

এই ধাপে একটি গাছ চেকআউট পর, এবং পরবর্তীকালে কোনো পরিবর্তন উপর, একবার সঞ্চালিত করা প্রয়োজন configure.ac বা Makefile.am । কেবল বিল্ড কনফিগারেশন বা লক্ষ্যগুলি পরিবর্তন করার সময় এটি পুনরাবৃত্তি করার প্রয়োজন হয় না।

স্ক্রিপ্ট

কনফিগারযোগ্য বিকল্পগুলি সম্পর্কে আরও জানতে অন্তর্ভুক্ত কনফিগারেশন স্ক্রিপ্ট সহ --help পতাকা ব্যবহার করুন।

./configure --help

উদাহরণস্বরূপ, ব্লুজেড সমর্থন ব্যতীত ওপেনওয়ে কনফিগার করতে:

./configure --without-bluez

শিরোলেখ

অন্তর্ভুক্ত Makefiles দুটি শিরোলেখ ফাইল ব্যবহার করে যা সংকলন সময়ে ধ্রুবককে সংজ্ঞায়িত করে:

প্রকল্প-নির্দিষ্ট কনফিগারেশন শিরোনামও সরবরাহ করা যেতে পারে। আপনার প্রকল্প ডিরেক্টরিতে এই ফাইলগুলি রাখুন them ওপেনওয়েভ সংগ্রহস্থলের মধ্যে এগুলি রাখবেন না। কনফিগারেশনের সময় প্রতিটি ফাইলের অবস্থান নির্দিষ্ট করতে উপযুক্ত কনফিগারেশন বিকল্পটি ব্যবহার করুন:

শিরোনাম ফাইল কনফিগারেশন বিকল্প
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

উদাহরণস্বরূপ, ~/my-project/headers অবস্থিত একটি প্রকল্প-নির্দিষ্ট WeaveProjectConfig.h ফাইল ব্যবহার করতে ওপেনওয়ে কনফিগার করতে:

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