g ++を使用してすべての使用可能なライブラリを静的にリンクする場合は、この人は-staticフラグをコンパイラに渡します。Qtクリエータでライブラリを静的にリンクさせる方法
しかし、どのようにQtの創造主からそれを行うには? がHow to make Qt and Qtcreator link the libraries statically instead of dynamic?
ポストは
CONFIG += static
を使用することを示唆しかし、それだけでは動作しません:
まず、私はこのアドバイスを試してみました。
は第二に、私は別のアプローチを試してみましたが、私の.PROファイルに次の行を追加しました:
QMAKE_CXXFLAGS += -static
のいずれかの問題を解決しませんでした。 コンパイラの出力を解析して発見しました。
-staticフラグは、ソースをオブジェクトファイルにコンパイルする場合にのみ追加されます。 しかし、実行可能ファイルをビルドする場合、このフラグは存在しません。
g++ -c -pipe -fno-keep-inline-dllexport -static -g -std=gnu++11 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -I..\..\..\ASSETS\PROG_CPP\MY_CPP\2016\test -I. -I..\..\..\icu\dist\include -I..\..\5.7\mingw53_32\mkspecs\win32-g++ -o debug\main.o ..\..\..\ASSETS\PROG_CPP\MY_CPP\2016\test\main.cpp
g++ -Wl,-subsystem,console -mthreads -o debug\test.exe debug/main.o -LC:\icu\dist\lib -lsicuio -lsicuin -lsiculx -lsicule -lsicuuc C:\icu\dist\lib\sicudt.a -lpthread -lm
すべてのコマンドに-static追加するqmakeのを強制する方法:ここで
は正確なコンパイラは、私は、コンパイラの出力]タブからコピーするコマンドがありますか?
それは私の場合に役立つものではなく、この: は、だから私がしなければならなかったすべては、.PROファイルに以下を追加することです 'UNIXの場合:LIBS + = -Wl、-Bstatic -l - Wl、-Bdynamic'は正常です –
dyomas
Windowsでは認識できないオプション/静的 – jjxtra