Build automation: ปกติแล้วจะใช้ QMake สำหรับโครงการที่ไม่ใช่ Qt หรือไม่?


9

ดังนั้นฉันวางแผนที่จะเขียนไลบรารี C ++ และฉันต้องการให้เป็นข้ามแพลตฟอร์มและเนื่องจากไลบรารีนี้จะไม่จัดการกับ UI และฉันต้องการให้มีการพึ่งพาน้อยที่สุดเท่าที่จะทำได้ฉันจะไม่ใช้ Qt (ที่จริงแล้ว Qt จะไม่ช่วยฉันให้บรรลุสิ่งที่ฉันต้องการจริง ๆ ทั้งหมดที่ฉันวางแผนไว้คือ STL และ Boost) ตอนนี้เมื่อมันมาถึงการสร้างโครงการข้ามแพลตฟอร์มฉันชอบ QMake จริงๆเพราะมันใช้งานง่ายมากและฉันมีประสบการณ์กับมัน ฉันได้ยินสิ่งดีๆเกี่ยวกับ CMake ด้วยเช่นกัน แต่ฉันสงสัยว่าจริงๆแล้วมันใช้งานง่ายเหมือน QMake

อย่างไรก็ตามนี่คือคำถามของฉัน: ฉันควรติดกับเครื่องมือสร้างอัตโนมัติที่ฉันรู้หรือ QMake ออกจากบริบทสำหรับโครงการที่ไม่ใช่ Qt หรือไม่? ฉันควรใช้โอกาสนี้ในการเรียนรู้ CMake หรือไม่ หรือมีทางเลือกที่ดีกว่าสำหรับสองคนนี้หรือไม่?


ไม่เห็นอย่างแน่นอนว่าคำถามนี้เกี่ยวข้องกับ C อย่างไร
DeadMG

คำตอบ:


7

ทางเลือกนั้นขึ้นอยู่กับคุณทั้งหมด

แต่ผมจะชี้ให้เห็นว่ามากจำนวนมากของโครงการ Qt-based ได้ย้ายออกไปจาก qmake และเปลี่ยนไป CMake ด้วยเหตุผลต่างๆ ฉันจะชี้ให้เห็นว่าไม่มีเหตุผลทางเทคนิคที่คุณไม่สามารถใช้ QMake หากคุณต้องการ

โดยส่วนตัวแล้วฉันใช้ CMake เพราะมันค่อนข้างใช้บทบาทที่ autotools ครั้งหนึ่งเคยชอบทำด้วยชุดเครื่องมือและไวยากรณ์ที่ง่ายต่อการเข้าใจและทำงาน แต่ฉันเห็นความสนใจในการใช้ QMake - ไวยากรณ์ ง่ายกว่ามากและอาจจะเข้าใจและใช้งานได้ง่ายกว่า CMake


1
นรกคุณสามารถใช้มดถ้าคุณรู้สึกว่า

ฉันตัดสินใจที่จะลองใช้ CMake และในขณะที่มันไม่ใช่เรื่องง่ายเหมือนกับ QMake มันก็ไม่ได้ยากอย่างที่คิดเพราะมันจะเป็นเช่นนั้นและมันก็ทรงพลังเช่นกัน
กราฟิลส์

2

ฉันเคยทำงานให้กับ บริษัท ( เทคโนโลยีเครือข่ายแบบโต้ตอบ ) ที่สร้าง SDKs สำหรับใช้ใน Contouring, Seismic, Welllog และ GIS ผลิตภัณฑ์ C ++ ได้รับการสนับสนุนสำหรับ Unix หลายประเภทและ Windows (ย้อนกลับไปเมื่อคุณต้องกำหนด NT เมื่อเทียบกับรสชาติอื่น ๆ )

เมื่อ QT ออกมามันมี QMake อยู่แล้ว ฉันคุ้นเคยกับการทำและมดในเวลานั้น หลังจากใช้เวลาสามวันกับ QMake ฉันก็โยนมันออกมาและใช้มันง่ายๆ

แม้ว่าการทำอาจจะซับซ้อนมาก แต่ฉันขอแนะนำให้ใช้หรือ Ant กับ QMake


2
ทำไม? เห็นได้ชัดว่าคุณไม่ชอบ QMake แต่ทำไม ฉันคิดว่าเหตุผลของคุณจะมีค่าที่จะเข้าใจ
greyfade

1
ถ้าฉันจำได้ว่าเป็นสีเทาฉันจะบอกคุณ นั่นคือประมาณ 8 ปีที่ผ่านมา :-(
Kristofer Hoch

1
ในกรณีนั้นฉันขอเสนอว่ามันคุ้มค่าที่จะกลับมาเยี่ยมชมอีกครั้ง :)
greyfade

บางที แต่ฉันได้ย้ายออกไปจากหลายแพลตฟอร์มในอาชีพของฉัน ตอนนี้ฉันพัฒนาและกระจายเทคโนโลยีของ Microsoft
Kristofer Hoch
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.