2010-01-26 27 views
9

Tôi đang sử dụng qmake để xây dựng một dự án của tôi. Tôi đã cố gắng thiết lập biến DESTIR của qmake với một giá trị phụ thuộc vào trình biên dịch được sử dụng. Trên thực tế, tôi muốn rằng các nhị phân của dự án của tôi, sau khi xây dựng, được đặt trong một thư mục có tên của trình biên dịch được sử dụng để xây dựng nó.Cấu hình biến DESTDIR trong qmake

Something như thế này ... cây thư mục hiện tại của tôi cho dự án của tôi là

 
- Project 
| - src 
| - include 
| - bin 
| |- binary_file 

tôi muốn nó được như thế này

 
- Project 
| - src 
| - include 
| - bin 
| | - gcc-4.3.4 
| | |- binary_file 

Tôi có thể làm điều này bằng qmake?

Trả lời

10

Trong src/file src.pro, hoặc bất cứ nơi nào bạn thiết lập DESTDIR

# compiler used 
QMAKE_CXX = g++-4.3 
# PROJECT_ROOT defined in .qmake.cache as $$PWD, in the Project root directory 
DESTDIR = $$PROJECT_ROOT/bin/$$QMAKE_CXX/ 

Nếu bạn không muốn cài đặt phiên bản trình biên dịch, bạn có thể truy vấn nó tự động. Tôi không biết nếu có bất kỳ giải pháp chung C++/qmake nào cho nó, nhưng với g ++ bạn có thể sử dụng -dumpversion:

CXX_VERSION = $$system($$QMAKE_CXX -dumpversion) 
DESTDIR=$$PROJECT_ROOT/bin/$$QMAKE_CXX-$$CXX_VERSION/ 
Các vấn đề liên quan