libPdfWrapper.a .pro 文件,其中包含 test1、test2、test3 依赖静态库
QT -= gui
TARGET = PdfWrapper
TEMPLATE = lib
CONFIG += staticlib
LIBS += -L$${PWD}/dependencies -ltest1 -ltest2 -ltest3
pdf 项目 .pro 文件,当我只包含 lPdfWrapper 库时,它无法正常工作,它给出链接错误 undefined reference
QT -= gui
TARGET = Pdf
TEMPLATE = app
LIBS += -L$${PWD}/dependencies -lPdfWrapper
带有 lPdfWrapper 库及其依赖项的 pdf 项目 .pro 文件开始工作
QT -= gui
TARGET = Pdf
TEMPLATE = app
LIBS += -L$${PWD}/dependencies -lPdfWrapper -ltest1 -ltest2 -ltest3
谁能解释一下这是必要的吗?如果是,为什么?
最佳答案
当您将库编译为静态时,这意味着只有YOUR 库将被静态链接,因此应用程序不需要YOUR 库的.lib 文件。
你的库需要的所有动态库,仍然是应用程序所必需的,它链接到你的静态库。
为了在你的库中包含所有依赖项,你应该将你的库链接到静态版本的 test1、test2、test3。
关于c++ - 静态依赖库是否需要包含静态依赖库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708395/