Giter Club home page Giter Club logo

Comments (13)

borissoft avatar borissoft commented on June 22, 2024 1

@alexandrkirilov Add -maes option to your compiler flags.
Check the last line of sqlitecipher/sqlitecipher.pro.

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

I've just got it working for MacOS with:
macos { QMAKE_CFLAGS += -march=native } QMAKE_CFLAGS += -maes

Added to sqlitecipher/sqlitecipher.pro file

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

For iOS need to make trick with SDK. There are trouble with sys/random.h It's not presented in iOS SDK, but it presented in MacOS SDK. Just copy this file from MacOS SDK include/sys folder to iOS SDK folder include/sys.

For iOS build this piece of code QMAKE_CFLAGS += -march=native should be disabled
You should be building for DEBUG and RELEASE separately. It's not working for both of them like previous version.

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

For Android:
-- when you build it with QtCreator it ends with error, but all built OK
-- when you trying to run make install like in previous version it's got failed, you need just copy the plugin file manually into Android QT plugin directory

But plugin itself working on device.

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

All of versions built with Qt 6.2.3 on MacOS Catalina

from qtciphersqliteplugin.

borissoft avatar borissoft commented on June 22, 2024

I have commented #include <sys/random.h> for iOS and it works too.

from qtciphersqliteplugin.

devbean avatar devbean commented on June 22, 2024

Could you please make a pull request to fix this problem?

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

Could you please make a pull request to fix this problem?

What do you mean?

from qtciphersqliteplugin.

devbean avatar devbean commented on June 22, 2024

I mean if you could make a pull request about what you change? Just add macos { QMAKE_CFLAGS += -march=native } QMAKE_CFLAGS += -maes to sqlitecipher/sqlitecipher.pro is enough?

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

I mean if you could make a pull request about what you change? Just add macos { QMAKE_CFLAGS += -march=native } QMAKE_CFLAGS += -maes to sqlitecipher/sqlitecipher.pro is enough?

Sure I could. Contact me in private. But this commit won't be solving all of troubles that connected to iOS and Android. There are few steps that should be done manually outside of your plugin. I could show how it works for and we can try find solution that can automate building process of your plugin. BTW- it's great job you done!

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

Forgotten to add for Qt 5.15.8 all is working perfectly without any tricks for any platform.

from qtciphersqliteplugin.

alexandrkirilov avatar alexandrkirilov commented on June 22, 2024

Just tested with Qt 6.2.4 All is working with previous commentaries. But make install working now for all platforms.

from qtciphersqliteplugin.

jlynet avatar jlynet commented on June 22, 2024

Qt 6.6.1

/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:96: error: static_assert failed due to requirement 'is_complete<sqlite3, void>::value' "Pointer Meta Types must either point to fully-defined types or be declared with Q_DECLARE_OPAQUE_POINTER(T *)"
In file included from /Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:40:
In file included from /Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/QCoreApplication:1:
In file included from /Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qcoreapplication.h:11:
In file included from /Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qeventloop.h:7:
In file included from /Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qobject.h:18:
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1189:13: error: static_assert failed due to requirement 'is_complete<sqlite3, void>::value' "Pointer Meta Types must either point to fully-defined types or be declared with Q_DECLARE_OPAQUE_POINTER(T *)"
static_assert(is_complete<Pointed, void>::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:96:1: note: in instantiation of function template specialization 'QtPrivate::checkTypeIsSuitableForMetaType<sqlite3 >' requested here
Q_DECLARE_METATYPE(sqlite3
)
^
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1504:34: note: expanded from macro 'Q_DECLARE_METATYPE'
#define Q_DECLARE_METATYPE(TYPE) Q_DECLARE_METATYPE_IMPL(TYPE)
^
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1511:34: note: expanded from macro 'Q_DECLARE_METATYPE_IMPL'
static_assert(QtPrivate::checkTypeIsSuitableForMetaType());
^
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:97: error: static_assert failed due to requirement 'is_complete<sqlite3_stmt, void>::value' "Pointer Meta Types must either point to fully-defined types or be declared with Q_DECLARE_OPAQUE_POINTER(T *)"
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1189:13: error: static_assert failed due to requirement 'is_complete<sqlite3_stmt, void>::value' "Pointer Meta Types must either point to fully-defined types or be declared with Q_DECLARE_OPAQUE_POINTER(T *)"
static_assert(is_complete<Pointed, void>::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:97:1: note: in instantiation of function template specialization 'QtPrivate::checkTypeIsSuitableForMetaType<sqlite3_stmt >' requested here
Q_DECLARE_METATYPE(sqlite3_stmt
)
^
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1504:34: note: expanded from macro 'Q_DECLARE_METATYPE'
#define Q_DECLARE_METATYPE(TYPE) Q_DECLARE_METATYPE_IMPL(TYPE)
^
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1511:34: note: expanded from macro 'Q_DECLARE_METATYPE_IMPL'
static_assert(QtPrivate::checkTypeIsSuitableForMetaType());
^
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:99: error: explicit specialization of 'QtPrivate::IsPointerDeclaredOpaque<sqlite3 *>' after instantiation
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:99:1: error: explicit specialization of 'QtPrivate::IsPointerDeclaredOpaque<sqlite3 >' after instantiation
Q_DECLARE_OPAQUE_POINTER(sqlite3
)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1498:24: note: expanded from macro 'Q_DECLARE_OPAQUE_POINTER'
template <> struct IsPointerDeclaredOpaque
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1187:48: note: implicit instantiation first required here
if constexpr (std::is_pointer_v && !IsPointerDeclaredOpaque::value) {
^
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:100: error: explicit specialization of 'QtPrivate::IsPointerDeclaredOpaque<sqlite3_stmt *>' after instantiation
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:100:1: error: explicit specialization of 'QtPrivate::IsPointerDeclaredOpaque<sqlite3_stmt >' after instantiation
Q_DECLARE_OPAQUE_POINTER(sqlite3_stmt
)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1498:24: note: expanded from macro 'Q_DECLARE_OPAQUE_POINTER'
template <> struct IsPointerDeclaredOpaque
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qmetatype.h:1187:48: note: implicit instantiation first required here
if constexpr (std::is_pointer_v && !IsPointerDeclaredOpaque::value) {
^
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:1372: warning: 'qAsConst<QList<SQLiteResult *>>' is deprecated: Use std::as_const() instead. [-Wdeprecated-declarations]
/Users/jk/Downloads/QtCipherSqlitePlugin-1.3/sqlitecipher/sqlitecipher.cpp:1372:28: warning: 'qAsConst<QList<SQLiteResult *>>' is deprecated: Use std::as_const() instead. [-Wdeprecated-declarations]
for (auto result : qAsConst(d->results)) {
^
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qttypetraits.h:32:1: note: 'qAsConst<QList<SQLiteResult *>>' has been explicitly marked deprecated here
QT_DEPRECATED_VERSION_X_6_6("Use std::as_const() instead.")
^
/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qtdeprecationmarkers.h:175:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_6'

define QT_DEPRECATED_VERSION_X_6_6(text) QT_DEPRECATED_X(text)

                                       ^

/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qtdeprecationmarkers.h:27:33: note: expanded from macro 'QT_DEPRECATED_X'

define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)

                            ^

/Users/jk/Applications/Qt/6.6.1/macos/lib/QtCore.framework/Headers/qcompilerdetection.h:985:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'

define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]

                               ^

👎 error: [sqlitecipher.o] Error 1

from qtciphersqliteplugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.