এই পৃষ্ঠায় সংস্থান রয়েছে যা আপনাকে C++ প্রকল্পের সাথে Bazel ব্যবহার করতে সাহায্য করে। এটি Bazel-এর সাথে C++ প্রকল্প নির্মাণের জন্য নির্দিষ্ট একটি টিউটোরিয়াল, বিল্ড নিয়ম এবং অন্যান্য তথ্যের সাথে লিঙ্ক করে।
Bazel সঙ্গে কাজ
নিম্নলিখিত সংস্থানগুলি আপনাকে C++ প্রকল্পগুলিতে বেজেলের সাথে কাজ করতে সহায়তা করবে:
- টিউটোরিয়াল: একটি C++ প্রকল্প তৈরি করা
- C++ সাধারণ ব্যবহারের ক্ষেত্রে
- C/C++ নিয়ম
- C++ টুলচেইন কনফিগারেশন
- টিউটোরিয়াল: C++ টুলচেইন কনফিগার করা
- C++ নিয়মের সাথে একীভূত করা
সেরা অনুশীলন
সাধারণ Bazel সেরা অনুশীলনগুলি ছাড়াও, নীচে C++ প্রকল্পগুলির জন্য নির্দিষ্ট সেরা অনুশীলনগুলি রয়েছে৷
ফাইল তৈরি করুন
আপনার BUILD ফাইল তৈরি করার সময় নীচের নির্দেশিকা অনুসরণ করুন:
প্রতিটি
BUILD
ফাইলে ডিরেক্টরিতে প্রতি সংকলন ইউনিটে একটিcc_library
নিয়ম লক্ষ্য থাকা উচিত।ক্রমবর্ধমানতা বাড়াতে এবং বিল্ডটিকে সমান্তরাল করতে আপনার সি++ লাইব্রেরিগুলিকে যতটা সম্ভব দানাদার করা উচিত।
যদি
srcs
এ একটি একক সোর্স ফাইল থাকে, তাহলে C++ ফাইলের নামের মতো লাইব্রেরির নাম দিন। এই লাইব্রেরিতে C++ ফাইল(গুলি), যেকোন মেলে হেডার ফাইল(গুলি) এবং লাইব্রেরির সরাসরি নির্ভরতা থাকা উচিত৷ উদাহরণ স্বরূপ:cc_library( name = "mylib", srcs = ["mylib.cc"], hdrs = ["mylib.h"], deps = [":lower-level-lib"] )
ফাইলে প্রতি
cc_library
টার্গেটের জন্য একটিcc_test
নিয়ম টার্গেট ব্যবহার করুন। টার্গেটের নাম দিন[library-name]_test
এবং সোর্স ফাইল[library-name]_test.cc
। উদাহরণস্বরূপ, উপরে দেখানোmylib
লাইব্রেরি লক্ষ্যের জন্য একটি পরীক্ষার লক্ষ্য এইরকম দেখাবে:cc_test( name = "mylib_test", srcs = ["mylib_test.cc"], deps = [":mylib"] )
পাথ অন্তর্ভুক্ত করুন
পাথ অন্তর্ভুক্ত করার জন্য এই নির্দেশিকা অনুসরণ করুন:
ওয়ার্কস্পেস ডিরেক্টরির সাথে সম্পর্কিত সমস্ত পাথ অন্তর্ভুক্ত করুন।
নন-সিস্টেম হেডারের জন্য উদ্ধৃত অন্তর্ভুক্ত (
#include "foo/bar/baz.h"
) ব্যবহার করুন, কোণ-বন্ধনী নয় (#include <foo/bar/baz.h>
)।UNIX ডিরেক্টরি শর্টকাট ব্যবহার করা এড়িয়ে চলুন, যেমন
.
(বর্তমান ডিরেক্টরি) বা..
(প্যারেন্ট ডিরেক্টরি)।লিগ্যাসি বা
third_party
কোডের জন্য যার জন্য প্রজেক্ট রিপোজিটরির বাইরে নির্দেশ করা অন্তর্ভুক্ত, যেমন এক্সটার্নাল রিপোজিটরিতে একটি প্রিফিক্সের প্রয়োজন রয়েছে,cc_library
নিয়ম টার্গেটেinclude_prefix
এবংstrip_include_prefix
আর্গুমেন্ট ব্যবহার করুন।