26

私は Qt Creator を使用しており、C++ スタティック ライブラリ プロジェクトに依存する Qt GUI プロジェクトを持っています。GUI アプリのリリース バージョンを .lib のリリース ビルドにリンクし、GUI アプリのデバッグ リリースを debug .lib にリンクしたいと考えています。.pro ファイルに次のような行を含めることで、プロジェクトに追加のライブラリを追加する方法を見つけました。

LIBS += -L./libfolder -lmylib.lib

-Lしかし、リリース ビルドとデバッグ ビルドに別のコマンドを使用する方法がわかりません。

これを行うためのqmakeのサポートはありますか?

4

2 に答える 2

45

普通

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"
}

参照。qmake ドキュメント

EDIT 2013-11-17-Lfoo : では使用しないでくださいLIBS。標準的な方法は、パス ( なし-L) をに追加することQMAKE_LIBDIRです。

于 2009-07-15T08:47:44.730 に答える
26

プロジェクトファイルでは、次のようなことができます

debug {
    LIBS += -L./libfolder -lmydebuglib.lib
}

release {
    LIBS += -L./libfolder -lmyreleaselib.lib
}

DEBUG が CONFIG qmake 変数に追加されている場合、デバッグ中かっこ内のビットが使用されます。同様に、RELEASE が CONFIG 変数に追加されている場合、リリース中かっこ内のものが含まれます。

「release」ではなく「!debug」を使用することもできます (つまり、デバッグが構成にない場合)。

qmake の詳細については、こちらを参照してください。

于 2009-07-15T08:28:05.583 に答える