一般的な質問は次のように定式化できます-静的ライブラリlib1が別の静的ライブラリlib2に依存している場合、lib2をlib1のリンカー依存関係として指定する必要がありますか、またはライブラリがアプリケーションに対してリンクされている場合にのみリンク依存関係を指定する必要があります(そしてすべてのlib2 を使用するアプリケーションは、lib1 にもリンクする必要があります)?
具体的には、次のようないくつかの依存関係を持つ静的ライブラリとアプリケーションがたくさんあります。
makeall.pro:
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = coreLib \
anotherLib \
....
someApp
anotherLib.depends = coreLib
someApp.depends = coreLib anotherLib
coreLib.pro
TEMPLATE = lib
CONFIG += staticlib
TARGET = coreLib
#... some .cpp and .h
anotherLib.pro
TEMPLATE = lib
CONFIG += staticlib
INCLUDEPATH += PATH_TO_CORE_LIB_INCLUDES
DEPENDPATH += PATH_TO_CORE_LIB_INCLUDES
TARGET = anotherLib
#問題の行
someApp.pro
TEMPLATE = app
DESTDIR = ..\bin
INCLUDEPATH += PATH_TO_CORE_LIB_INCLUDES PATH_TO_ANOTHER_LIB_INCLUDES
DEPENDPATH += PATH_TO_CORE_LIB_INCLUDES PATH_TO_ANOTHER_LIB_INCLUDES
#問題の行
問題の行には何を使用すればよいですか:
anotherLib.pro
(nothing required)
someApp.pro
PRE_TARGETDEPS += ../bin/coreLib.lib ../bin/anotherLib.lib
また:
Ⅱ.anotherLib.pro
PRE_TARGETDEPS += ../bin/coreLib.lib
someApp
PRE_TARGETDEPS += ../bin/anotherLib.lib
また
III. anotherLib.pro
PRE_TARGETDEPS += ../bin/coreLib.lib
someApp.pro
PRE_TARGETDEPS += ../bin/coreLib.lib ../bin/anotherLib.lib