如何解决Qmake找不到我的Android库,因为它们在名称后附加了QT_ARCH变量
我有一个Qt应用程序,可以为桌面正确构建。我所有的库都是动态链接的。我目前在Ubuntu上进行构建,因此最终看起来像“ libMyLibName1.so”,但在Android上构建时会输出一个类似于“ libMyLibName1_armeabi-v7a.so”的库,该库的原始名称后缀有QT_ARCH变量。我收到诸如“找不到-lMyLibName1”之类的错误,我怀疑这是因为库的命名不同。
我已经读过https://www.kdab.com/qt-for-android-better-than-ever-before/,并且看起来后缀可以启用某些Android功能。
我的库.pro / .pri文件都看起来像这样:
#MyLibName2.pro
QT += core
include(../MyLibName1/MyLibName1.pri)
CONFIG -= debug_and_release
CONFIG += c++17
TEMPLATE = lib
HEADERS += file.h
SOURCES += file.cpp
DESTDIR = ../../libs
unix {
target.path = /usr/lib
INSTALLS += target
}
OTHER_FILES += MyLibName2.pri
#MyLibName1.pri
INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
LIBS += -L$$OUT_PWD/../../libs -lMyLibName1
在我的qmake文件中必须更改什么才能找到库?
解决方法
在Android上构建时,将QT_ARCH变量附加到.pri文件中的库名称。
#MyLibName1.pri
INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
android: LIBS += -L$$OUT_PWD/../../libs -lMyLibName1_$${QT_ARCH}
else: LIBS += -L$$OUT_PWD/../../libs -lMyLibName1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。