我創建了一個簡單的控制檯應用程序「Hello world」。首先,我的qmake編譯:hello.pro靜態構建Qt + Qbs
QT += core
QT -= gui
CONFIG += c++11
TARGET = hello
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
的應用程序正常,沒有安裝Qt和MinGW的,做工精細的系統上建造。可執行文件的大小是3.58MB。
接下來,我們使用QBS編譯系統編譯相同的源代碼。您好.qbs:
import qbs
CppApplication {
Depends{
name: "Qt"
submodules: [
"core",
]
}
name: "HelloWorld-minimal"
files: "main.cpp"
}
可執行文件大小爲4.35MB。該應用程序需要「libwinthread-1.dll」,「libstdC++ - 6.dll」和「libgcc_s_dw2-1.dll」。
一個問題:如何正確地在QBS中構建一個靜態應用程序,同時使用上述庫的靜態鏈接,並使可執行文件的大小相同? (使用標準版本的項目,沒有靜態,Qmake和Qbs的可執行文件的大小是相同的)。
Christan,感謝您的回答。關於您的優惠:1)不會導致任何更改。 2)我相信這兩個項目都是在發佈模式下構建的。 3)對於這個提示,謝謝。我發現該項目的鏈接是錯誤的,之後我修復了qbs文件(請參考我對此問題的回答)/ –