อะไรคือความแตกต่างระหว่าง*.proและ*.priไฟล์กำหนดค่าสำหรับ qmake?
สิ่งที่ควรเข้าสู่ไฟล์ * .pro และสิ่งที่ควรเข้าสู่ไฟล์ * .pri
อะไรคือความแตกต่างระหว่าง*.proและ*.priไฟล์กำหนดค่าสำหรับ qmake?
สิ่งที่ควรเข้าสู่ไฟล์ * .pro และสิ่งที่ควรเข้าสู่ไฟล์ * .pri
คำตอบ:
.proไฟล์คือสิ่งที่คุณจะวิ่ง qmake บน .priไฟล์รวมอยู่ด้วย.proไฟล์ นอกเหนือจากนั้นไม่มีความแตกต่างระหว่างทั้งสองมากนัก
ตัวอย่างการใช้งานอาจเป็นได้หากคุณมีงานสร้างที่แตกต่างกันซึ่งต้องการตัวเลือกที่แตกต่างกัน คุณสามารถใส่ข้อมูลที่แชร์ใน. pro ในขณะที่เลื่อนตัวเลือกไปยังไฟล์. pri ต่างๆ บิตข้อมูลเพิ่มเติมแม้จะเป็นที่ยอมรับไม่ได้มากขึ้น, สามารถพบได้ที่นี่
มีความแตกต่างหลักอย่างหนึ่งระหว่างการใช้ซ้ำเป้าหมาย:
นี้มักจะเรียกว่าไฟล์โครงการ
นี้มักจะเรียกว่าโครงการรวมไฟล์
ดังที่คุณเห็นในชื่อของพวกเขาความแตกต่างที่สำคัญคือ.priไฟล์ควรจะรวมไฟล์ ซึ่งคล้ายกับการรวมโมดูลในภาษาโปรแกรมเพื่อแบ่งปันการทำงานโดยพื้นฐานแล้ว
คุณจะสามารถเขียนการตั้งค่าและโค้ดทั่วไปลงใน.priไฟล์เหล่านั้นและรวมไว้จาก.proไฟล์ต่างๆได้ตามต้องการ นี่คือวิธีที่คุณจะใช้ในทางปฏิบัติ:
FOO = BAR
...
include($$PWD/foo.pri)
...
...
include($$PWD/foo.pri)
...
วิธีนี้คนธรรมดาสามัญจะสามารถใช้ได้ทั้งในเช่นเดียวกับhello.pro world.proมันไม่ได้สร้างความแตกต่างมากนักในสถานการณ์นี้ แต่เมื่อฟังก์ชันการทำงานที่ใช้ร่วมกันใช้งานได้นานขึ้นจะช่วยให้คุณประหยัดงานเขียนเช่นเดียวกับการซิงค์การแก้ไขข้อบกพร่องและอื่น ๆ
คุณสามารถรวม.priไฟล์ไว้ใน.priไฟล์อื่นได้หากต้องการ คุณยังสามารถรวม.priไฟล์ไว้ในโปรเจ็กต์ย่อยอื่น ๆ ได้อีกด้วยเป็นอะไรที่ดีมาก
อย่างไรก็ตามไวยากรณ์เหมือนกันสำหรับทั้งไฟล์.proและ.priไฟล์ ในท้ายที่สุดคุณจะวิ่ง qmake ใน.proไฟล์และยังเป็นสิ่งที่สร้าง qmake qmake -projectสำหรับคุณถ้าคุณไม่ได้มีไฟล์โครงการที่มีอยู่และคุณตั้งใจที่จะใช้
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับฟังก์ชันรวมได้ที่นี่ :
รวม (ชื่อไฟล์)
รวมเนื้อหาของไฟล์ที่ระบุโดยชื่อไฟล์ลงในโปรเจ็กต์ปัจจุบัน ณ จุดที่รวมไฟล์ ฟังก์ชันนี้จะสำเร็จหากรวมชื่อไฟล์ไว้ มิฉะนั้นจะล้มเหลว ไฟล์ที่รวมจะถูกประมวลผลทันที
คุณสามารถตรวจสอบว่าไฟล์ถูกรวมหรือไม่โดยใช้ฟังก์ชันนี้เป็นเงื่อนไขสำหรับขอบเขต
เพียงแค่ว่าจะแล้วเสร็จนอกจากนี้ยังมี.prf โครงการคุณสมบัติของไฟล์และ.prl โครงการLinkerไฟล์แต่เป็นผู้ใช้คุณไม่จำเป็นต้องจัดการกับที่สำหรับตอนนี้
รูปแบบของ.priไฟล์เหมือนกับรูปแบบของ.proไฟล์ทุกประการ ความแตกต่างที่สำคัญคือเจตนาอย่างหนึ่ง a .pro คือสิ่งที่คนส่วนใหญ่คาดหวังให้รัน qmake โดยตรงในขณะที่. pri จะรวมอยู่ใน. pro เมื่อคุณสั่งให้ qmake รวมไฟล์อื่นมันจะประมวลผลคำสั่งในไฟล์นั้นราวกับว่ามันอยู่ในไฟล์ปัจจุบัน
สำหรับการอ้างอิง: * .pro vs * .pri