9

以下を含む SomeLib.pro ファイルを用意します。

CONFIG  += debug
TEMPLATE = lib
TARGET = SomeLib
..

次に依存する SomeApp.pro で:

..
debug:LIBS += -lSomeLib_debug
..

QmakeでSomeLibに触れた場合、SomeAppを強制的にビルドするにはどうすればよいですか?

4

6 に答える 6

16

正確なライブラリファイル名を指定する必要があるため、醜いですが、これは機能するはずです。

TARGETDEPS + = libfoo.a

于 2009-04-23T22:07:36.853 に答える
3

ライブラリを含める必要があるプロジェクトのコンテキスト メニューで [ライブラリを追加...] をクリックすると、QT Creator が作業を行います。

これらの変数は自動的に構成されます。

  • ライブラリ
  • INCLUDEPATH
  • DEPENDPATH
  • PRE_TARGETDEPS

http://doc.qt.digia.com/qtcreator-2.1/creator-project-qmake-libraries.htmlも参照してください。

于 2013-05-20T08:19:43.407 に答える
2

Zahirのコメントへの返信として、DLLを使用する場合は、qmakeファイルでこの依存関係を示す必要はありませんが、exeが静的ライブラリに依存している場合は必須であることを指摘する価値があります。

于 2009-05-10T13:53:37.367 に答える
1

qmakeはこの機能を提供しません。

代わりに、アプリとライブラリをサブディレクトリに置き、親ディレクトリに次のような Makefile を作成します。

all: FRC
    cd Somelib && qmake && $(MAKE) 
    cd SomeApp && qmake && $(MAKE)

FRC:

次に、常にmakeこのディレクトリから実行します。

于 2009-04-23T12:58:20.930 に答える
0

確かにそれは不可能です。qmake を使用して逆依存関係のルックアップを行うことについて話しているのですか? ライブラリAに変更を加えた後、アプリB(およびライブラリAに依存する他のアプリ)をビルドする必要がありますか?

vbrun300.dll が更新された場合、すべての Visual Basic アプリを再コンパイルするように言っているようなものですか?

于 2009-04-23T12:47:26.027 に答える