Qbs build tools ၏နောက်ဆုံးထွက်ရှိမှုကို ထုတ်ဝေလိုက်ပါပြီ။

Qt ကုမ္ပဏီ ထုတ်ဝေခဲ့သည် တပ်ဆင်ကိရိယာများ Q.1.13 XNUMX (Qt Build Suite)။ ဤသည်မှာ Qt ကုမ္ပဏီမှထုတ်လုပ်သော Qbs ၏နောက်ဆုံးထွက်ရှိမှုဖြစ်သည်။ စောစောက ဖြစ်ပျက်ခဲ့တာတွေကို သတိရကြရအောင် လက်ခံရရှိ Qbs ဖွံ့ဖြိုးတိုးတက်မှုကိုရပ်တန့်ရန်ဆုံးဖြတ်ချက်။ Qbs ကို qmake အတွက် အစားထိုးအဖြစ် တီထွင်ထားသော်လည်း နောက်ဆုံးတွင် Qt အတွက် ပင်မတည်ဆောက်မှုစနစ်အဖြစ် CMake ကို ရေရှည်တွင် အသုံးပြုရန် ဆုံးဖြတ်ခဲ့သည်။

မဝေးတော့သောအနာဂတ်တွင်၊ ရပ်ရွာလူထုမှ Qbs ၏ဖွံ့ဖြိုးတိုးတက်မှုကိုဆက်လက်လုပ်ဆောင်ရန်လွတ်လပ်သောပရောဂျက်တစ်ခုကိုဖန်တီးလိမ့်မည်ဟုမျှော်လင့်ရပြီး၊ ကံကြမ္မာသည်လွတ်လပ်သော developer များထံမှမေးခွန်းထုတ်ထားသောစည်းဝေးပွဲစနစ်အပေါ်စိတ်ဝင်စားမှုအပေါ် မူတည်လိမ့်မည်။ Qt ကုမ္ပဏီသည် အပိုရင်းနှီးမြှုပ်နှံမှု လိုအပ်မှုနှင့် Qbs မြှင့်တင်မှုအတွက် ကုန်ကျစရိတ်များသောကြောင့် Qbs တွင် အလုပ်မလုပ်တော့ပါ။

Qbs ကိုယ်တိုင်တည်ဆောက်ရန်၊ Qt ကို မှီခိုမှုတစ်ခုအနေဖြင့် လိုအပ်သည်၊ သို့သော် Qbs ကိုယ်တိုင်က မည်သည့်ပရောဂျက်များ၏ စုဝေးမှုကို စုစည်းရန် ဒီဇိုင်းထုတ်ထားသည်ကို သတိရကြပါစို့။ Qbs သည် ပြင်ပ module များကို ချိတ်ဆက်နိုင်ပြီး၊ JavaScript လုပ်ဆောင်ချက်များကို အသုံးပြုနိုင်ပြီး မထင်သလို ဖန်တီးထားသော စည်းမျဉ်းများကို ဖန်တီးနိုင်စေသည့် ပရောဂျက်တည်ဆောက်မှုစခရစ်များကို သတ်မှတ်ရန် Qbs သည် ရိုးရှင်းသောဗားရှင်းကို အသုံးပြုထားသည်။
Qbs သည် makefiles များကို မထုတ်လုပ်ဘဲ မှီခိုမှုအားလုံး၏ အသေးစိတ်ဂရပ်များအပေါ် အခြေခံ၍ တည်ဆောက်မှုလုပ်ငန်းစဉ်ကို အကောင်းဆုံးဖြစ်အောင် ကွန်ပလီများနှင့် လင့်ခ်များ လွှင့်တင်ခြင်းကို လွတ်လပ်စွာထိန်းချုပ်ပါသည်။ ပရောဂျက်ရှိ ဖွဲ့စည်းတည်ဆောက်ပုံနှင့် မှီခိုမှုများအကြောင်း ကနဦးဒေတာများ ရှိနေခြင်းသည် စာတွဲများစွာတွင် လုပ်ငန်းဆောင်ရွက်မှုများကို ထိထိရောက်ရောက် ပြိုင်တူလုပ်ဆောင်နိုင်စေပါသည်။

Qbs 1.13 တွင် အဓိက တီထွင်ဆန်းသစ်မှုများ-

  • Qbs မော်ဂျူးများအတွက် အသုံးပြုသည့် တူညီသောမှီခိုမှုလုပ်ဆောင်ခြင်းယန္တရားကို အသုံးပြု၍ ပရောဂျက်များတွင် pkg-config မော်ဂျူးများကို အသုံးပြုရန် စွမ်းရည်ကို ပေါင်းထည့်ထားသည်။ ဥပမာအားဖြင့်၊ သင့်စနစ်တွင် pkg-config ကိုအခြေခံ၍ OpenSSL ကိုတည်ဆောက်ရန်အတွက် ပက်ကေ့ခ်ျတစ်ခုရှိနေပါက၊ ၎င်းကို Qbs ပရောဂျက်တွင်အသုံးပြုရန်အတွက် 'Depends { name: "openssl" }' ကိုထည့်ရုံသာ;
  • ရနိုင်သော Qt modules များကို အလိုအလျောက် ထောက်လှမ်းခြင်းကို အကောင်အထည်ဖော်ခဲ့သည်။ developer များသည် setup-qt command ကို အသုံးပြု၍ module paths များဖြင့် ပရိုဖိုင်ကို ဖန်တီးရန် မလိုအပ်တော့ဘဲ၊ မှီခိုမှုတွင် သတ်မှတ်ထားသော Qt module အားလုံးကို အလိုအလျောက် configure လုပ်ပါမည်။
  • တစ်ခုချင်းစီ commands အဆင့်တွင် အပြိုင်လုပ်ဆောင်နေသည့် စည်းဝေးပွဲများ အရေအတွက်ကို ထိန်းချုပ်ရန် ကိရိယာများ ထည့်သွင်းထားသည်။ ဥပမာအားဖြင့်၊ လင့်ခ်ချိတ်ခြင်းသည် ကြီးမားသော I/O load ကိုဖန်တီးပြီး RAM ပမာဏများစွာကို စားသုံးသည်၊ ထို့ကြောင့် linker သည် compiler ထက် မတူညီသော startup ဆက်တင်များကို လိုအပ်ပါသည်။ “qbs —job-limits linker:2,compiler:8” ဟူသော command ကို အသုံးပြု၍ သီးခြားဆက်တင်များကို သတ်မှတ်နိုင်ပါပြီ။
  • ဇာတ်ညွှန်းဘာသာစကားကို အပြောင်းအလဲများ ပြုလုပ်ထားသည်။ စည်းမျဉ်းများသည် output အတွက် stub ဖိုင်ကို မသတ်မှတ်ဘဲ ယခုသတ်မှတ်နိုင်သည်၊ ပရောဂျက်ဖိုင်များ၏အစတွင် "import qbs" ညွှန်ကြားချက်ကို အသုံးပြုရန် မလိုအပ်ပါ။ အသစ်ထည့်သွင်းပြီး installDir ဂုဏ်သတ္တိများကို အက်ပလီကေးရှင်း၊ DynamicLibrary နှင့် StaticLibrary ဒြပ်စင်များသို့ ပေါင်းထည့်လိုက်သည် ။
  • linker scripts များကို ထပ်ခါတလဲလဲ စကင်န်ဖတ်ခြင်းအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်ထားပါသည်။
    GNU ချိတ်ဆက်သူ;

  • C++ ဘာသာစကားအတွက်၊ cpp.linkerVariant ပိုင်ဆိုင်မှုကို ld.gold၊ ld.bfd သို့မဟုတ် lld လင့်ခ်များကို အသုံးပြုရန် အတင်းအကြပ်လုပ်ဆောင်သည်။
  • Qt သည် ကြီးမားသော Qt အရင်းအမြစ်များကို ဖန်တီးရန်အတွက် Qt.core.enableBigResources ပိုင်ဆိုင်မှုကို မိတ်ဆက်ပေးသည်။
  • အသုံးမပြုတော့သော AndroidApk ဒြပ်စင်အစား၊ ယေဘူယျ Application အမျိုးအစားကို အသုံးပြုရန် အဆိုပြုထားသည်။
  • autotest ကိုအခြေခံ၍ စစ်ဆေးမှုများဖန်တီးရန်အတွက် module တစ်ခုထပ်ထည့်ထားသည်။
  • qmake တွင် QMAKE_SUBSTITUTES နှင့် ဆင်တူသော စွမ်းရည်ရှိသော စာသားပုံစံပုံစံ မော်ဂျူးကို ထည့်သွင်းထားသည်။
  • C++ နှင့် Objective-C အတွက် Protocol Buffers ဖော်မတ်အတွက် ကနဦးပံ့ပိုးမှု ပေါင်းထည့်ထားသည်။

source: opennet.ru

မှတ်ချက် Add