Κυκλοφορία εργαλείων κατασκευής Qbs 1.21 και έναρξη δοκιμών Qt 6.3

Παρουσιάζεται η κυκλοφορία του Qbs build tools 1.21. Αυτή είναι η όγδοη κυκλοφορία από τότε που η Qt Company αποχώρησε από το έργο και προετοιμάστηκε από την κοινότητα που ενδιαφέρεται να συνεχίσει την ανάπτυξη του Qbs. Για τη δημιουργία του Qbs, απαιτείται το Qt ως εξάρτηση, αν και το ίδιο το Qbs έχει σχεδιαστεί για να οργανώνει τη δημιουργία οποιωνδήποτε έργων. Το Qbs χρησιμοποιεί μια απλοποιημένη έκδοση της γλώσσας QML για να ορίσει σενάρια κατασκευής έργων, η οποία σας επιτρέπει να ορίσετε αρκετά ευέλικτους κανόνες κατασκευής που μπορούν να περιλαμβάνουν εξωτερικές μονάδες, να χρησιμοποιήσετε συναρτήσεις JavaScript και να δημιουργήσετε προσαρμοσμένους κανόνες κατασκευής.

Η γλώσσα δέσμης ενεργειών που χρησιμοποιείται στο Qbs είναι προσαρμοσμένη για να αυτοματοποιεί τη δημιουργία και την ανάλυση σεναρίων build από IDE. Επιπλέον, το Qbs δεν δημιουργεί makefiles και το ίδιο, χωρίς μεσάζοντες όπως το βοηθητικό πρόγραμμα make, ελέγχει την εκκίνηση μεταγλωττιστών και συνδέσμων, βελτιστοποιώντας τη διαδικασία δημιουργίας με βάση ένα λεπτομερές γράφημα όλων των εξαρτήσεων. Η παρουσία αρχικών δεδομένων σχετικά με τη δομή και τις εξαρτήσεις στο έργο σας επιτρέπει να παραλληλίσετε αποτελεσματικά την εκτέλεση λειτουργιών σε πολλά νήματα. Για μεγάλα έργα που αποτελούνται από μεγάλο αριθμό αρχείων και υποκαταλόγων, η απόδοση των ανακατασκευών που χρησιμοποιούν Qbs μπορεί να ξεπεράσει την απόδοση αρκετές φορές - η αναδόμηση είναι σχεδόν στιγμιαία και δεν κάνει τον προγραμματιστή να αφιερώνει χρόνο σε αναμονή.

Υπενθυμίζουμε ότι το 2018, η Qt Company αποφάσισε να σταματήσει την ανάπτυξη του Qbs. Το Qbs αναπτύχθηκε ως αντικατάσταση του qmake, αλλά τελικά αποφασίστηκε να χρησιμοποιηθεί το CMake ως το κύριο σύστημα κατασκευής για το Qt μακροπρόθεσμα. Η ανάπτυξη του Qbs συνεχίστηκε πλέον ως ανεξάρτητο έργο που υποστηρίζεται από κοινοτικές δυνάμεις και ενδιαφερόμενους προγραμματιστές. Η υποδομή της εταιρείας Qt συνεχίζει να χρησιμοποιείται για ανάπτυξη.

Βασικές καινοτομίες στο Qbs 1.21:

  • Ο μηχανισμός των παρόχων μονάδων (module generators) έχει επανασχεδιαστεί. Για πλαίσια όπως το Qt και το Boost, είναι πλέον δυνατό να χρησιμοποιηθούν περισσότεροι από ένας πάροχοι, να προσδιορίσετε ποιος πάροχος θα εκτελείται χρησιμοποιώντας τη νέα ιδιότητα qbsModuleProviders και να καθορίσετε μια προτεραιότητα για την επιλογή λειτουργικών μονάδων που δημιουργούνται από διαφορετικούς παρόχους. Για παράδειγμα, μπορείτε να καθορίσετε δύο παρόχους "Qt" και "qbspkgconfig", ο πρώτος από τους οποίους θα προσπαθήσει να χρησιμοποιήσει την εγκατάσταση Qt του χρήστη (μέσω qmake αναζήτησης) και αν δεν βρεθεί τέτοια εγκατάσταση, ο δεύτερος πάροχος θα προσπαθήσει να χρησιμοποιήσει το Qt που παρέχεται από το σύστημα (μέσω κλήσης pkg-config): CppApplication {Depends. Qt", "qbspkgconfig"] }
  • Προστέθηκε ο πάροχος "qbspkgconfig", ο οποίος αντικαθιστά τον πάροχο λειτουργικής μονάδας "εφεδρική", ο οποίος προσπάθησε να δημιουργήσει μια λειτουργική μονάδα χρησιμοποιώντας το pkg-config, εάν η εν λόγω λειτουργική μονάδα δεν είχε δημιουργηθεί από άλλους παρόχους. Σε αντίθεση με το "fallback", το "qbspkgconfig" χρησιμοποιεί μια ενσωματωμένη βιβλιοθήκη C++ για την απευθείας ανάγνωση αρχείων ".pc" αντί να καλεί το βοηθητικό πρόγραμμα pkg-config, το οποίο επιταχύνει την εργασία και παρέχει πρόσθετες πληροφορίες σχετικά με τις εξαρτήσεις πακέτων που δεν είναι διαθέσιμες κατά την κλήση του βοηθητικού προγράμματος pkg-config.
  • Προστέθηκε υποστήριξη για την προδιαγραφή C++23, η οποία καθορίζει το μελλοντικό πρότυπο C++.
  • Η υποστήριξη για την αρχιτεκτονική Elbrus E2K έχει προστεθεί στην αλυσίδα εργαλείων GCC.
  • Για πλατφόρμα Android προστέθηκε ιδιότητα Android.ndk.buildId, το οποίο σας επιτρέπει να παρακάμψετε την προεπιλεγμένη τιμή για τη σημαία σύνδεσης "--build-id".
  • Οι μονάδες capnproto και protobuf υποστηρίζουν πλέον τη χρήση χρόνων εκτέλεσης που παρέχονται από τον πάροχο qbspkgconfig.
  • Διορθώθηκαν προβλήματα με την παρακολούθηση αλλαγών σε αρχεία πηγαίου κώδικα στο FreeBSD λόγω της απόρριψης χιλιοστών του δευτερολέπτου κατά την εκτίμηση των χρόνων τροποποίησης αρχείων.
  • Προστέθηκε η ιδιότητα ConanfileProbe.verbose για να διευκολύνει τον εντοπισμό σφαλμάτων έργων που χρησιμοποιούν τη διαχείριση πακέτων Conan.

Επιπλέον, μπορούμε να σημειώσουμε την έναρξη των δοκιμών alpha του πλαισίου Qt 6.3, το οποίο υλοποιεί μια νέα ενότητα "Qt Language Server" με υποστήριξη για τα πρωτόκολλα Language Server και JsonRpc 2.0, ένα μεγάλο μέρος νέων συναρτήσεων έχει προστεθεί στη ενότητα Qt Core, ο τύπος QML MessageDialog έχει υλοποιηθεί στη ενότητα Qt Quick Dialogs για τη χρήση παραθύρων διαλόγου που παρέχονται από την πλατφόρμα και ένα σύνθετο στοιχείο έχει προστεθεί στη ενότητα Qt Wayland Compositor. διακομιστή Qt Shell και API για τη δημιουργία των δικών σας προσαρμοσμένων επεκτάσεων shell.

Η μονάδα Qt QML παρέχει μια υλοποίηση του μεταγλωττιστή qmltc (μεταγλωττιστής τύπου QML), ο οποίος σας επιτρέπει να μεταγλωττίσετε δομές αντικειμένων QML σε κλάσεις C++. Για τους εμπορικούς χρήστες του Qt 6.3, έχει ξεκινήσει η δοκιμή του προϊόντος Qt Quick Compiler, το οποίο, εκτός από τον προαναφερθέντα μεταγλωττιστή τύπου QML, περιλαμβάνει τον μεταγλωττιστή σεναρίου QML, ο οποίος σας επιτρέπει να μεταγλωττίσετε συναρτήσεις και εκφράσεις QML σε κώδικα C++. Σημειώνεται ότι η χρήση του Qt Quick Compiler θα φέρει την απόδοση των προγραμμάτων που βασίζονται σε QML πιο κοντά στα εγγενή προγράμματα, ειδικότερα, κατά τη μεταγλώττιση επεκτάσεων, σημειώνεται μείωση του χρόνου εκκίνησης και εκτέλεσης κατά περίπου 30% σε σύγκριση με τη χρήση της ερμηνευμένης έκδοσης.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster