Câu hỏi cũ, nhưng vẫn có giá trị một câu trả lời cập nhật. Ngày nay, người ta thường làm những gì Qt Creator làm khi sử dụng các bản dựng bóng (chúng được bật theo mặc định khi mở một dự án mới).
Đối với mỗi mục tiêu và kiểu xây dựng khác nhau, quyền qmake
được chạy với các đối số bên phải trong một thư mục xây dựng khác nhau. Sau đó, điều đó chỉ được xây dựng với đơn giản make
.
Vì vậy, cấu trúc thư mục tưởng tượng có thể trông như thế này.
/
|_/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
Và điều ngẫu nhiên là, a qmake
được chạy trong thư mục xây dựng:
cd build-mylib-XXXX
/path/to/right/qmake ../mylib/mylib.pro CONFIG+=buildtype ...
Sau đó, nó tạo các tệp makefiles trong thư mục xây dựng, và sau đó make
sẽ tạo các tệp trong đó. Không có nguy cơ các phiên bản khác nhau bị trộn lẫn, miễn là qmake không bao giờ được chạy trong thư mục nguồn (nếu có, tốt hơn hãy dọn dẹp nó thật tốt!).
Và khi được thực hiện như vậy, .pro
tệp từ câu trả lời hiện được chấp nhận thậm chí còn đơn giản hơn:
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
src/dialogs.cpp