เครื่องมือสร้าง Qbs รุ่นสุดท้ายได้รับการเผยแพร่แล้ว

บริษัทคิวที การตีพิมพ์ เครื่องมือประกอบ คำถามที่ 1.13 (ชุด Qt Build) นี่คือ Qbs รุ่นล่าสุดที่ผลิตโดย Qt Company เรามาจำสิ่งที่เกิดขึ้นก่อนหน้านี้กัน ที่ได้รับ การตัดสินใจหยุดพัฒนา Qbs Qbs ได้รับการพัฒนาเพื่อทดแทน qmake แต่ท้ายที่สุดก็ตัดสินใจใช้ CMake เป็นระบบบิลด์หลักสำหรับ Qt ในระยะยาว

ในอนาคตอันใกล้นี้ คาดว่าจะมีการสร้างโครงการอิสระเพื่อพัฒนา Qbs ต่อไปโดยชุมชน ซึ่งชะตากรรมจะขึ้นอยู่กับความสนใจในระบบการประกอบที่เป็นปัญหาจากนักพัฒนาอิสระ บริษัท Qt หยุดดำเนินการกับ Qbs เนื่องจากต้องมีการลงทุนเพิ่มเติมและมีค่าใช้จ่ายสูงในการโปรโมต Qbs

ขอให้เราจำไว้ว่าในการสร้าง Qbs นั้น Qt เป็นสิ่งจำเป็นในการพึ่งพา แม้ว่า Qbs เองจะได้รับการออกแบบเพื่อจัดระเบียบแอสเซมบลีของโปรเจ็กต์ก็ตาม Qbs ใช้เวอร์ชันที่เรียบง่ายของภาษา QML เพื่อกำหนดสคริปต์การสร้างโปรเจ็กต์ ซึ่งช่วยให้คุณกำหนดกฎการสร้างที่ค่อนข้างยืดหยุ่นซึ่งสามารถเชื่อมต่อโมดูลภายนอก ใช้ฟังก์ชัน JavaScript และสร้างกฎการสร้างแบบกำหนดเองได้
Qbs ไม่ได้สร้าง makefiles และควบคุมการเปิดตัวคอมไพเลอร์และลิงก์เกอร์อย่างอิสระ โดยปรับกระบวนการสร้างให้เหมาะสมตามกราฟโดยละเอียดของการขึ้นต่อกันทั้งหมด การมีข้อมูลเริ่มต้นเกี่ยวกับโครงสร้างและการพึ่งพาในโครงการช่วยให้คุณสามารถดำเนินการดำเนินการในหลายเธรดพร้อมกันได้อย่างมีประสิทธิภาพ

นวัตกรรมที่สำคัญใน Qbs 1.13:

  • เพิ่มความสามารถในการใช้โมดูล pkg-config ในโครงการโดยใช้กลไกการประมวลผลการพึ่งพาแบบเดียวกับที่ใช้สำหรับโมดูล Qbs ตัวอย่างเช่น หากระบบของคุณมีแพ็คเกจสำหรับการสร้าง OpenSSL โดยใช้ pkg-config เพื่อใช้ในโปรเจ็กต์ Qbs เพียงเพิ่ม 'Depends { name: "openssl" }';
  • ใช้การตรวจจับอัตโนมัติของโมดูล Qt ที่มีอยู่ นักพัฒนาไม่จำเป็นต้องสร้างโปรไฟล์ด้วยเส้นทางโมดูลโดยใช้คำสั่ง setup-qt อีกต่อไป โมดูล Qt ทั้งหมดที่ระบุในการขึ้นต่อกันจะได้รับการกำหนดค่าโดยอัตโนมัติ
  • เพิ่มเครื่องมือเพื่อควบคุมจำนวนงานประกอบที่ทำงานแบบขนานในระดับคำสั่งแต่ละคำสั่ง ตัวอย่างเช่น การลิงก์จะสร้างโหลด I/O ขนาดใหญ่ และใช้ RAM เป็นจำนวนมาก ดังนั้นตัวเชื่อมโยงจึงต้องการการตั้งค่าการเริ่มต้นที่แตกต่างจากคอมไพเลอร์ ขณะนี้สามารถตั้งค่าแยกกันได้โดยใช้คำสั่ง “qbs —job-limits linker:2,compiler:8”;
  • มีการเปลี่ยนแปลงภาษาสคริปต์ ขณะนี้สามารถกำหนดกฎได้โดยไม่ต้องระบุไฟล์ stub สำหรับเอาต์พุต และไม่จำเป็นต้องใช้คำสั่ง "import qbs" ที่จุดเริ่มต้นของไฟล์โปรเจ็กต์ เพิ่มคุณสมบัติการติดตั้งและ installDir ใหม่ให้กับองค์ประกอบ Application, DynamicLibrary และ StaticLibrary เพื่อการติดตั้งไฟล์ปฏิบัติการได้สะดวกยิ่งขึ้น
  • เพิ่มการรองรับการสแกนสคริปต์ตัวเชื่อมโยงแบบเรียกซ้ำ
    ตัวเชื่อมโยง GNU;

  • สำหรับ C++ คุณสมบัติ cpp.linkerVariant ได้ถูกนำมาใช้เพื่อบังคับให้ใช้ตัวเชื่อมโยง ld.gold, ld.bfd หรือ lld
  • Qt แนะนำคุณสมบัติ Qt.core.enableBigResources สำหรับการสร้างทรัพยากร Qt ขนาดใหญ่
  • แทนที่จะเป็นองค์ประกอบ AndroidApk ที่ล้าสมัย ขอเสนอให้ใช้ประเภทแอปพลิเคชันทั่วไป
  • เพิ่มโมดูลสำหรับสร้างการทดสอบตามการทดสอบอัตโนมัติ
  • เพิ่มโมดูลเทมเพลตข้อความที่มีความสามารถคล้ายกับ QMAKE_SUBSTITUTES ใน qmake
  • เพิ่มการรองรับเบื้องต้นสำหรับรูปแบบ Protocol Buffers สำหรับ C++ และ Objective-C

ที่มา: opennet.ru

เพิ่มความคิดเห็น