Qt Creatorを使用していて、C++静的ライブラリプロジェクトに依存するQtGUIプロジェクトがあります。 GUIアプリのリリースバージョンを.libのリリースビルドにリンクし、GUIアプリのデバッグリリースをdebug.libにリンクしたいと思います。 .proファイルに次のような行を含めることで、プロジェクトにライブラリを追加する方法を見つけました。
LIBS += -L./libfolder -lmylib.lib
しかし、リリースビルドとデバッグビルドに別の-L
コマンドを使用する方法がわかりません。
これを行うためのqmakeのサポートはありますか?
プロジェクトファイルでは、次のようなことができます
debug {
LIBS += -L./libfolder -lmydebuglib.lib
}
release {
LIBS += -L./libfolder -lmyreleaselib.lib
}
DEBUGがCONFIGqmake変数に追加されている場合は、デバッグ中括弧内のビットが使用されます。同様に、CONFIG変数にRELEASEが追加されている場合は、リリース括弧内のものが含まれます。
「release」ではなく「!debug」を使用することもできます(つまり、デバッグが構成にない場合)
Qmakeの詳細については ここ を見つけることができます。
普通
debug:LIBS += ...
else:LIBS += ...
ユーザーがCONFIG += debug
またはCONFIG += release
を素朴に使用してデバッグビルドとリリースビルドを切り替えると、ソリューションが壊れます(そして、そうします。CONFIG -= release release_and_debug
の前にCONFIG += debug
と言うことを覚えている人はいません:)。
これは、debug
をスコープする標準的な方法です。
CONFIG( debug, debug|release ) {
# debug
QMAKE_LIBDIR += "path/to/debug/lib"
} else {
# release
QMAKE_LIBDIR += "path/to/release/lib"
}
Cf. qmakeドキュメント 。
EDIT 2013-11-17:LIBS
で-Lfoo
を使用しないでください。正規の方法は、パス(-L
なし)をQMAKE_LIBDIR
に追加することです。