การเปิดตัวเครื่องมือประกอบ Qbs 1.17

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

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

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

หลัก นวัตกรรม ถาม 1.17:

  • เพิ่มการสนับสนุนเบื้องต้น Qt 6.
  • เพิ่มโมดูล capnp เพื่อใช้โปรโตคอลซีเรียลไลซ์ข้อมูล แคป'น์ โปรโต ในแอปพลิเคชัน C++
  • เพิ่ม ความสามารถในการระบุตัวแปรผลิตภัณฑ์และโปรเจ็กต์ทางด้านขวาของคำจำกัดความคุณสมบัติ moduleProvider (เช่น "moduleProviders.mygenerator.chooseLettersFrom: project.beginning")
  • เพิ่มการรองรับเครื่องมือสำหรับการสร้างโปรเจ็กต์ C/C++ เพื่อทำงานบนฮาร์ดแวร์โดยไม่ต้องใช้ระบบปฏิบัติการ (bare-metal โดยที่พารามิเตอร์ qbs.targetPlatform ตั้งค่าเป็น 'none'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) และ
    GCC (CR16, M68K, M32C, M32R, ซุปเปอร์-H, V850, RISC-V, Xtensa)

  • เพิ่มการรองรับสภาพแวดล้อมการพัฒนา Xcode 12.0 สำหรับ macOS
  • โมดูล Qt สำหรับ Android ได้รับการทำความสะอาดแล้ว
  • ปรับปรุงการรองรับการสร้างสำหรับแพลตฟอร์ม Android เพิ่มคุณสมบัติ packageType ให้กับโมดูล Android.sdk เพื่อสร้างแพ็คเกจ “aab” (Android App Bundles) แทน “apk” รวมถึงคุณสมบัติ aaptName เพื่อใช้ aapt2 ใหม่ (Android Asset Packaging Tool) การสนับสนุนการสร้างแอปพลิเคชัน Android สำหรับแพลตฟอร์ม ARMv5, MIPS และ MIPS64 ถูกยกเลิกแล้ว

ที่มา: opennet.ru

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