Настройте проект подкаталогов с подпроектами приложений и библиотек для qmake в QtCreatorC++

Программы на C++. Форум разработчиков
Anonymous
Настройте проект подкаталогов с подпроектами приложений и библиотек для qmake в QtCreator

Сообщение Anonymous »

Я настраиваю образец подкаталогов projectmain с двумя подпроектами: projectgui (шаблон приложения) и projectsub1 (шаблон библиотеки). Я использую QtCreator 13.0.2 с комплектом Desktop Qt 6.7.2 MSVC201964bit в Windows 11.
Во время сборки возникает следующая ошибка:

Код: Выделить всё

LNK1146: no argument specified with option '/LIBPATH:'
Структура проекта:[/b]

Код: Выделить всё

[projectmain]
|- projectmain.pro
|- [projectgui]
|  |- projectgui.pro
|- [projectsub1]
|- projectsub1.pro
|- projectsub1.pri
projectmain.pro:

Код: Выделить всё

TEMPLATE = subdirs

SUBDIRS = projectsub1 projectgui

projectsub1.subdir = projectsub1
projectgui.subdir = projectgui

projectgui.depends = projectsub1
projectgui.pro

Код: Выделить всё

QT       += core gui sql

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TEMPLATE = app
CONFIG += c++17

SOURCES += \
main.cpp \
mainwindow.cpp

HEADERS += \
db.h \
mainwindow.h

FORMS += \
mainwindow.ui

DISTFILES += \
data.db

include(../projectsub1/projectsub1.pri)

win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../projectsub1/release/ -lprojectsub1
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../projectsub1/debug/ -lprojectsub1
else:unix: LIBS += -L$$OUT_PWD/../projectsub1/ -lprojectsub1

INCLUDEPATH += $$PWD/../projectsub1
DEPENDPATH += $$PWD/../projectsub1
projectsub1.pro:

Код: Выделить всё

QT -= gui
QT += sql

TEMPLATE = lib
DEFINES += PROJECTSUB1_LIBRARY
CONFIG += c++17

SOURCES += \
customsqltablemodel.cpp \
projectsub1.cpp

HEADERS += \
customsqltablemodel.h \
projectsub1_global.h \
projectsub1.h

# Default rules for deployment.
unix {
target.path = /usr/lib
}
!isEmpty(target.path): INSTALLS += target

DISTFILES += \
projectsub1.pri

projectsub1.pri:

Код: Выделить всё

LIBTARGET = projectsub1
BASEDIR = $${PWD}
INCLUDEPATH += $${BASEDIR}
LIBS += -L$${DESTDIR} -lprojectsub1
При использовании Desktop Qt 6.7.2 MinGW 64bit в процессе сборки возникают следующие ошибки:

Код: Выделить всё

error: cannot find -lprojectsub1
error: collect2.exe: error: ld returned 1 exit status
error: [Makefile.Debug:73: debug/projectgui.exe] Error 1
Похоже, проблема с правильной настройкой LIBS, но я не могу ее исправить, просмотрев следующие ресурсы:
Я использовал следующее ресурсы для настройки файлов pro и pri:

[*]https://wiki.qt.io/SUBDIRS_-_handling_dependents
[*]https://wiki.qt.io/How_to_create_a_libr ... pplication
[*]https://www.toptal.com/qt/vital-guide-qmake

Любые рекомендации приветствуются.

Подробнее здесь: https://stackoverflow.com/questions/787 ... -qtcreator

Вернуться в «C++»