devbean / QtCipherSqlitePlugin

A Qt plugin for cipher SQLite.
http://qtciphersqliteplugin.galaxyworld.org
GNU Lesser General Public License v2.1
392 stars 159 forks source link

Did not build on Qt 5.14 for Android/iOS/MacOS #30

Closed alexandrkirilov closed 3 years ago

alexandrkirilov commented 4 years ago

Did not build on Qt 5.14 for all of Android build settings .obj/armeabi-v7a/smain.o:smain.cpp:function SqliteCipherDriverPlugin::create(QString const&): error: undefined reference to 'operator new(unsigned int)' .obj/armeabi-v7a/smain.o:smain.cpp:function qt_plugin_instance: error: undefined reference to 'operator new(unsigned int)' .obj/armeabi-v7a/smain.o:smain.cpp:function qt_plugin_instance: error: undefined reference to '__cxa_guard_acquire' .obj/armeabi-v7a/smain.o:smain.cpp:function qt_plugin_instance: error: undefined reference to '__cxa_guard_release' .obj/armeabi-v7a/smain.o:smain.cpp:function SqliteCipherDriverPlugin::~SqliteCipherDriverPlugin(): error: undefined reference to 'operator delete(void*)' .obj/armeabi-v7a/smain.o:smain.cpp:function QWeakPointer<QObject>::~QWeakPointer(): error: undefined reference to 'operator delete(void*)' .obj/armeabi-v7a/smain.o:smain.cpp:typeinfo for SqliteCipherDriverPlugin: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /Users/alexandr/Tools/android/sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: the vtable symbol may be undefined because the class is missing its key function .obj/armeabi-v7a/sqlitecipher.o:sqlitecipher.cpp:function SQLiteResult::SQLiteResult(SQLiteCipherDriver const*): error: undefined reference to 'operator new(unsigned int)' .obj/armeabi-v7a/sqlitecipher.o:sqlitecipher.cpp:function SQLiteResult::~SQLiteResult(): error: undefined reference to 'operator delete(void*)' .obj/armeabi-v7a/sqlitecipher.o:sqlitecipher.cpp:function SQLiteCipherDriver::SQLiteCipherDriver(QObject*): error: undefined reference to 'operator new(unsigned int)' .obj/armeabi-v7a/sqlitecipher.o:sqlitecipher.cpp:function SQLiteCipherDriver::~SQLiteCipherDriver(): error: undefined reference to 'operator delete(void*)' .obj/armeabi-v7a/sqlitecipher.o:sqlitecipher.cpp:typeinfo for SQLiteResult: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /Users/alexandr/Tools/android/sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: the vtable symbol may be undefined because the class is missing its key function .obj/armeabi-v7a/sqlitecipher.o:sqlitecipher.cpp:typeinfo for QSqlCachedResultPrivate: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /Users/alexandr/Tools/android/sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: the vtable symbol may be undefined because the class is missing its key function .obj/armeabi-v7a/sqlitecipher.o:sqlitecipher.cpp:typeinfo for SQLiteResultPrivate: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info' /Users/alexandr/Tools/android/sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: the vtable symbol may be undefined because the class is missing its key function clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [plugins/sqldrivers/libplugins_sqldrivers_sqlitecipher_armeabi-v7a.so] Error 1 11:53:26: The process "/Users/alexandr/Tools/android/sdk/ndk/20.1.5948944/prebuilt/darwin-x86_64/bin/make" exited with code 2. Error while building/deploying project sqlitecipher (kit: Android for (Clang Qt 5.14.0 for Android)) When executing step "Make"

alexandrkirilov commented 4 years ago

For MacOS and iOS all is OK on Qt 5.14

alexandrkirilov commented 4 years ago
Screenshot 2019-12-13 at 16 09 52 Screenshot 2019-12-13 at 16 10 06 Screenshot 2019-12-13 at 16 10 18

Issues related to this topic from Qt Creator

alexandrkirilov commented 4 years ago

Just been testing it on iOS and MacOS, this plugin built successfully. But in application it's not working properly. There are this error: QSqlDatabase: SQLITECIPHER driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 It's not loading on Qt 5.14.0, on Qt 5.13.2 and 5.12.6 all is OK

Monsterovich commented 4 years ago

It's not loading on Qt 5.14.0, on Qt 5.13.2 and 5.12.6 all is OK

How can I fix this?