Всем привет, вот файлы библиотеки
.pro файл
#-------------------------------------------------
#
# Project created by QtCreator 2015-03-29T23:59:10
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = testlib
TEMPLATE = lib
SOURCES += \
testlib.cpp
HEADERS += \
testlib.h
FORMS +=
CONFIG += mobility
MOBILITY =
testlib.h
#ifndef TESTLIB
#define TESTLIB
int func();
#endif // TESTLIB
testlib.cpp
#include "testlib.h"
int func()
{
return 5;
}
если целью для сборки выбрать андроид x86 то он будет писать что файл .pro не найден: Внутренняя ошибка: файл .pro не найден. Ошибка при сборке/установке проекта testlib (комплект: Android для x86 (GCC 4.9, Qt 5.4.1) ) Во время выполнения этапа «Сборка Android APK»
если в .pro заменить lib на app то он всё соберёт и в итоге будет файл с расширением libtestlib.so
тестовый проект:
файл .pro
#-------------------------------------------------
#
# Project created by QtCreator 2015-03-30T00:03:52
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = testproject
TEMPLATE = app
SOURCES += main.cpp
HEADERS += \
testlib.h
CONFIG += mobility
MOBILITY =
DISTFILES +=
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/release/ -ltestlib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/debug/ -ltestlib
else:unix: LIBS += -L$$PWD/ -ltestlib
INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/
main.cpp
#include <QApplication>
#include "testlib.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Так вот. Если тестовый проект собрать под андроид x86 то всё будет нормально, никаких ошибок во время сборки, но если попытаться запустить его через qt в эмуляторе то будет следующее: dlopen(«/data/app/org.qtproject.example.testproject-1/lib/x86/libtestproject.so», RTLD_LAZY) failed: dlopen failed: could not load library «libtestlib.so» needed by «libtestproject.so»; caused by library «libtestlib.so» not found D/AndroidRuntime( 2205): Shutting down VM E/AndroidRuntime( 2205): FATAL EXCEPTION: main E/AndroidRuntime( 2205): Process: org.qtproject.example.testproject, PID: 2205 E/AndroidRuntime( 2205): java.lang.UnsatisfiedLinkError: dlopen failed: could not load library «libtestlib.so» needed by «libtestproject.so»; caused by library «libtestlib.so» not found
Объясните пожалуйста как собирать либы для андроида.