Κοινή χρήση τεχνολογίας

Qt πρακτική (2) Δημιουργία περιβάλλοντος ανάπτυξης 2.2, λεπτομερής επεξήγηση των αρχείων .pro

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Πρόλογος:

Στο περιβάλλον ανάπτυξης Qt, το αρχείο .pro είναι ένα πολύ σημαντικό αρχείο έργου. Το αρχείο .pro δημιουργεί αυτόματα το αρχείο Makefile μέσω του εργαλείου qmake, το οποίο με τη σειρά του δίνει οδηγίες στον μεταγλωττιστή πώς να μεταγλωττίσει ολόκληρο το έργο. Αυτό το άρθρο θα παρουσιάσει λεπτομερώς τον ρόλο των αρχείων .pro από διάφορες πτυχές.

1. Λεπτομερής επεξήγηση του αρχείου .pro

1. Ο ρόλος του αρχείου .pro

Στο περιβάλλον ανάπτυξης Qt, το αρχείο .pro είναι ένα πολύ σημαντικό αρχείο έργουΑποθηκεύστε και διαμορφώστε πληροφορίες συλλογής και σύνδεσης για ολόκληρο το έργο . Το αρχείο .pro δημιουργεί αυτόματα το αρχείο Makefile μέσω του εργαλείου qmake, το οποίο με τη σειρά του δίνει οδηγίες στον μεταγλωττιστή πώς να μεταγλωττίσει ολόκληρο το έργο. Αυτό το άρθρο θα παρουσιάσει λεπτομερώς τον ρόλο των αρχείων .pro από διάφορες πτυχές.

2. Διαχείριση έργου

Το αρχείο .pro διαμορφώνει πρώτα ολόκληρο το έργο Καταγράφει λεπτομερώς τα αρχεία, τις διαδρομές, τις εξαρτημένες βιβλιοθήκες και άλλες πληροφορίες που περιέχονται στο έργο. Για παράδειγμα, θα απαριθμήσει όλα τα αρχεία πηγής .cpp, τα αρχεία κεφαλίδας .h, τα αρχεία διασύνδεσης .ui και τα αρχεία πόρων (όπως το .qrc) στο έργο και θα καθορίσει επίσης τις διαδρομές και τις εξαρτήσεις αυτών των αρχείων. Με αυτόν τον τρόπο, όταν το μέγεθος του έργου αυξάνεται και περιέχει εκατοντάδες αρχεία προέλευσης, το αρχείο .pro μπορεί να βοηθήσει τους προγραμματιστές να διαχειριστούν αποτελεσματικά αυτά τα αρχεία.

3. Μεταγλώττιση διαμόρφωσης

Το αρχείο .pro περιέχει επίσης πληροφορίες διαμόρφωσης που απαιτούνται κατά τη μεταγλώττιση και τη σύνδεση. Μπορεί να βελτιστοποιήσει τη διαδικασία μεταγλώττισης του έργου καθορίζοντας διαφορετικές επιλογές μεταγλώττισης. Για παράδειγμα, η μεταβλητή CONFIG χρησιμοποιείται για να ενημερώσει το qmake σχετικά με τις πληροφορίες διαμόρφωσης της εφαρμογής, όπως η ενεργοποίηση της τυπικής υποστήριξης C++11 (CONFIG=c11). Επιπλέον, το αρχείο .pro μπορεί επίσης να καθορίσει το όνομα του δημιουργημένου εκτελέσιμου αρχείου (TARGET), της μονάδας Qt που χρησιμοποιείται (QT = core gui) κ.λπ.

4. Διαχείριση εξαρτήσεων

Σε πολύπλοκα έργα, είναι συχνά απαραίτητο να εισαχθούν εξωτερικές βιβλιοθήκες ή ενότητες. Το αρχείο .pro χρησιμοποιεί τη μεταβλητή LIBS για να καθορίσει τη λίστα των βιβλιοθηκών και τις διαδρομές τους που συνδέονται με το έργο. Αυτό επιτρέπει στο έργο να συνδεθεί σωστά με τις απαιτούμενες βιβλιοθήκες και διασφαλίζει την κανονική λειτουργία του προγράμματος. Για παράδειγμα, εάν θέλετε να συνδέσετε μια βιβλιοθήκη που βρίσκεται στη διεύθυνση C:/mylibs/math.lib, μπορείτε να προσθέσετε win32:LIBS =c:/mylibs/math.lib στο αρχείο .pro.

5. Υποστήριξη πλατφόρμας

Το Qt είναι ένα πλαίσιο ανάπτυξης εφαρμογών γραφικής διεπαφής χρήστη C για πολλαπλές πλατφόρμες και τα αρχεία .pro υποστηρίζουν επίσης διαμόρφωση μεταξύ πλατφορμών. Προσθέτοντας οδηγίες μεταγλώττισης υπό όρους στο αρχείο .pro, οι προγραμματιστές μπορούν να γράψουν διαφορετικές διαμορφώσεις μεταγλώττισης και σύνδεσης για διαφορετικά λειτουργικά συστήματα (όπως Windows, Linux, macOS). Αυτό ενισχύει σημαντικά τη φορητότητα και τη συμβατότητα του έργου.

6. Αυτοματοποιημένη μεταγλώττιση

Το αρχείο .pro δημιουργεί αυτόματα το αρχείο Makefile μέσω του εργαλείου qmake, πραγματοποιώντας αυτοματοποιημένη μεταγλώττιση. Οι προγραμματιστές χρειάζεται μόνο να διαμορφώσουν το αρχείο .pro στο Qt Creator και στη συνέχεια να εκτελέσουν την εντολή μεταγλώττισης. Το qmake θα δημιουργήσει ένα Makefile με βάση τις πληροφορίες διαμόρφωσης στο αρχείο .pro και θα καλέσει το εργαλείο make για να μεταγλωττίσει ολόκληρο το έργο. Αυτός ο αυτοματοποιημένος μηχανισμός μεταγλώττισης βελτιώνει σημαντικά την αποδοτικότητα ανάπτυξης.

7. Παράδειγμα

Ακολουθεί ένα απλό παράδειγμα αρχείου .pro:

TEMPLATE = app  
CONFIG  = c  11  
QT  = core gui  
TARGET = myApplication  
SOURCES  =   
        main.cpp   
        mainwindow.cpp  
HEADERS  =   
        mainwindow.h  
FORMS  =   
        mainwindow.ui  
RESOURCES  =   
        resources.qrc