qt下的跨目錄多工程編譯

2021-08-11 13:34:56 字數 1205 閱讀 3841

**:

這裡要編譯的工程包含乙個庫和乙個可執行檔案。可執行檔案依賴於庫,所以要先編譯庫,編譯後庫放在lib目錄裡面,可執行檔案放在bin目錄裡面。

目錄結構如下:

[plain]view plain

copy

.  │   └── main.cpp  

├── bin  

├── complex.pro  

├── include  

│   └── base.h  

├── lib  

└── src  

├── base.cpp  

└── src.pro  

全域性的工程檔案complex.pro在工程根目錄下,內容如下:

[plain]view plain

copy

template = subdirs  

config += ordered  

subdirs模板表示要編譯多個子目錄中的工程。config選項要求各個子工程按順序編譯,子目錄的編譯順序在subdirs中指明。

庫的工程檔案在src目錄中,名為src.pro, 內容如下:

[plain]view plain

copy

target = base  

version = 0.1.0  

config += static  

destdir = ../lib  

includepath += ../include  

dependpath += . ../include  

sources += base.cpp  

headers += base.h  

target表示編譯後的庫名字為base,config += static表示編譯後的庫是靜態庫。destdir設定編譯後的庫的位置。

[plain]view plain

copy

destdir = ../bin  

includepath += . ../include  

dependpath += .  

libs += -l../lib -lbase  

如果要編譯多個庫,多個可執行檔案,或者多級目錄工程,可以參照這個例子寫多個pro檔案,遞迴而已,不是什麼難事。

QT 多目錄多工程 配置

因為專案中我們需要把模組分的比較明確,這樣既方便大家分工合作,也方便日後模組重複使用。昨天初次摸索了一下,碰到了bug。解決了後,決定把這種開發方式和大家分享一下。新建工程時,我們選擇 other project subdirs project 這個工程即建立乙個完整的父工程,在父工程下包含很多子工...

Xcode實現多工程編譯

在開發專案時,有時候需要依賴其他的工程 通常是第三方開源的靜態庫工程 網上有很多第三方開源庫都是以乙個靜態庫工程提供給開發者的 比如codova,cocoapods等 其次,我們自己可以建乙個這樣的靜態庫工程,專門用來放自己在實際開發中用的比較多的技術,比如一些幫助類,一些好的技術封裝等等。這樣在開...

學習記錄 Qt的多工程管理

當乙個專案比較大時,使用單個工程管理,原始檔數量就比較多,看起來不爽,研究一下劃分模組並進行多工程管理就顯得比較重要。基本上在網上能查閱到的中文類qt的pro檔案的編寫,大致可以知道,新建立乙個子專案,然後再在裡面新增子專案或者專案就可以建立起乙個多工程的專案了。但是,有個問題一直找不到原因,新建乙...