คำถามเก่า แต่ก็ยังคุ้มค่ากับคำตอบที่เป็นปัจจุบัน ทุกวันนี้เป็นเรื่องปกติที่จะทำในสิ่งที่ Qt Creator ทำเมื่อมีการใช้งานเงา (จะเปิดใช้งานโดยค่าเริ่มต้นเมื่อเปิดโครงการใหม่)
สำหรับเป้าหมายและประเภทของบิวด์ที่แตกต่างกันสิทธิqmake
จะถูกเรียกใช้โดยมีอาร์กิวเมนต์ที่ถูกต้องในไดเร็กทอรีบิลด์อื่น จากนั้นก็สร้างขึ้นด้วยความเรียบง่ายmake
แล้วที่ถูกสร้างขึ้นเพียงด้วยง่าย
ดังนั้นโครงสร้างไดเร็กทอรีจินตภาพอาจมีลักษณะเช่นนี้
/
|_/build-mylib-qt5-mingw32-debug
|_/build-mylib-qt5-mingw32-release
|_/build-mylib-qt4-msvc2010-debug
|_/build-mylib-qt4-msvc2010-release
|_/build-mylib-qt5-arm-debug
|_/build-mylib-qt5-arm-release
|_/mylib
|_/include
|_/src
|_/resources
และสิ่งที่ไม่กระตุ้นคือ a qmake
ถูกเรียกใช้ในไดเร็กทอรี build:
cd build-mylib-XXXX
/path/to/right/qmake ../mylib/mylib.pro CONFIG+=buildtype ...
จากนั้นจะสร้าง makefiles ใน build directory จากนั้น make
จะสร้างไฟล์ภายใต้มันด้วย ไม่มีความเสี่ยงที่เวอร์ชันต่างๆจะปะปนกันตราบใดที่ qmake ไม่เคยทำงานในไดเร็กทอรีต้นทาง (ถ้าเป็นเช่นนั้นควรทำความสะอาดให้ดีขึ้น!)
และเมื่อทำเช่นนี้.pro
ไฟล์จากคำตอบที่ยอมรับในปัจจุบันจะง่ายกว่า:
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
src/dialogs.cpp