これは、続きthis questionの続きです。アイデアは、デバッグモードでのlib名前にd
をAppenにすることですので、私は、デバッグビルドだけのためにqmakeコマンドはデバッグモードでのみ実行できます。
win32:LIBS ~= s/-l(.*)/-l\1d/g
を実行したいです。
私は
win32:debug:LIBS ~= s/-l(.*)/-l\1d/g
を試みたが、それはまた、リリースモードで実行されます。私は通常、それを行う方法
これは、続きthis questionの続きです。アイデアは、デバッグモードでのlib名前にd
をAppenにすることですので、私は、デバッグビルドだけのためにqmakeコマンドはデバッグモードでのみ実行できます。
win32:LIBS ~= s/-l(.*)/-l\1d/g
を実行したいです。
私は
win32:debug:LIBS ~= s/-l(.*)/-l\1d/g
を試みたが、それはまた、リリースモードで実行されます。私は通常、それを行う方法
あなたはdebug
の存在のための簡単なテストの代わりにCONFIG(debug, debug|release)
を使用する必要があります。 CONFIG
変数は、debug
とrelease
の複数のエントリを含むことができる点で特別ですが、の最後の数値はとなります。
リリースモードであっても、CONFIGはsomething, debug, something, release
のように見えます。release
が最後のため「勝利」しますが、スコープテストではそれがわかりません。
これはqmakeの奇抜です。/
CONFIG変数の値の順序が重要である(つまり、最後の1つのセットは、相互排他的な値のアクティブな構成と見なされます)、これは文書化されています。 2番目のパラメータを使用して、考慮する一連の値を指定できます。例:
私はCONFIGロジックを完全には理解していませんでした。 CONFIG(debug、debug | release)をプロジェクトファイルで何度も使用できますか? – KcFnMi
@KcFnMi確かに、それはテストです。これはconstメソッドのようなものです。状態を変更するものではありません。 –
ザッツ:最初に、私は、異なるプラットフォームに異なる規則を使用すると考えられ、ちょうどここでは例として与え
はあなたが右の後にこのルールを追加することができますので、
CONFIG(debug, debug|release) {
unix: TARGET = $$join(TARGET,,,d)
win32: TARGET = $$join(TARGET,,,d)
}
プラットフォームが存在していますlibs/appsのターゲット名を設定してください
通常のレイアウトは、あなたのライブラリなどを生成するための.proファイルにこのルールがあります:
.priファイルにCONFIG(debug, debug|release) {
unix: LIBS += -L../libs -L../../libs -lyourlibnamed
win32: LIBS += -L../libs -L../../libs -lyourlibnamed
} else {
unix: LIBS += -L../libs -L../../libs -lyourlibname
win32: LIBS += -L../libs -L../../libs -lyourlibname
}
CONFIG(デバッグ、デバッグ|リリース):win32:LIBS〜= s/-l(。*)/ -l \ 1d/g – Devopia
'win32:debug: LIBS〜= s/-l(。*)/ -l \ 1d/g'はしますか? – KcFnMi
[Qt Creatorのターゲットを検出する方法(デバッグ/リリース)(Visual Studio)](http://stackoverflow.com/questions/32046181/how-to-detect-qt-creators-target-debug-release-ビジュアルスタジオ) – adlag