Я пытаюсь создать приложение для кросс-компиляции с помощью raspberry pi 3. Изначально у меня был только проект под названием «application», и все работало замечательно. Зная масштаб проекта, я подумал, что было бы неплохо абстрагироваться от классов, которые я обязательно добавлю. Поэтому я превратил проект в проект subdirs. То есть, когда начались проблемы.
Каталог выглядит следующим образом
IntegratedSmartHome.pro subdirs
-->Application.pro app
-->Libs.pro subdirs
---->common.pro library
Я следовал этому руководству и еще пару десятков других людей искали руководство, и ни один не был найден.
Я получаю ошибку:
10:37:03: Starting /home/jesse/Projects/build-integratedSmartHome-Desktop_Qt_5_11_1_GCC_64bit-Debug/application/application...
/home/jesse/Projects/build-integratedSmartHome-Desktop_Qt_5_11_1_GCC_64bit-Debug/application/application: error while loading shared libraries: libcommon.so.1: cannot open shared object file: No such file or directory
10:37:03: /home/jesse/Projects/build-integratedSmartHome-Desktop_Qt_5_11_1_GCC_64bit-Debug/application/application exited with code 127
Изображение папки libs после сборки
Любое руководство о том, как это исправить, будет оценено! Я включу мои 4 .pro файлы ниже. примечание: я не получаю ошибок сборки
IntegratedSmartHome.pro:
TEMPLATE = subdirs
SUBDIRS += \
libs \
application
application.depends = libs
CONFIG += ordered
Application.pro
QT += gui quick
CONFIG += c++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
smartdevicesmodel.cpp \
globalproperties.cpp
HEADERS += \
smartdevicesmodel.h \
globalproperties.h
RESOURCES += \
res/res.qrc
INCLUDEPATH += ../libs/common
LIBS += \
-L../libs/common -lcommon
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
Libs.pro
TEMPLATE = subdirs
SUBDIRS += \
common
CONFIG += ordered
Common.pro
QT -= gui
CONFIG += c++11
CONFIG -= app_bundle
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
devicetype.cpp \
smartdevice.cpp
HEADERS += \
devicetype.h \
smartdevice.h
! include( ../libs.pri ) {
error( "Couldn't find the libs.pri file!" )
}
# Default rules for deployment.
#qnx: target.path = /tmp/$${TARGET}/bin
#else: unix:!android: target.path = /opt/$${TARGET}/bin
#!isEmpty(target.path): INSTALLS += target
Libs.pri
INCLUDEPATH += . ..
WARNINGS += -Wall
TEMPLATE = lib
UI_DIR = uics
MOC_DIR = mocs
OBJECTS_DIR = objs
EDIT:
У меня есть небольшой опыт написания сценариев сборки оболочки, если вы считаете, что это стоит моего времени, или если вам не составит труда продолжать поддерживать распи с одним из них, я мог бы попробовать это, и тогда я был бы немного более явный со ссылкой