Comments (13)
@alexandrkirilov Add -maes
option to your compiler flags.
Check the last line of sqlitecipher/sqlitecipher.pro
.
from qtciphersqliteplugin.
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.
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.
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.
All of versions built with Qt 6.2.3 on MacOS Catalina
from qtciphersqliteplugin.
I have commented #include <sys/random.h>
for iOS and it works too.
from qtciphersqliteplugin.
Could you please make a pull request to fix this problem?
from qtciphersqliteplugin.
Could you please make a pull request to fix this problem?
What do you mean?
from qtciphersqliteplugin.
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.
I mean if you could make a pull request about what you change? Just add
macos { QMAKE_CFLAGS += -march=native } QMAKE_CFLAGS += -maes
tosqlitecipher/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.
Forgotten to add for Qt 5.15.8 all is working perfectly without any tricks for any platform.
from qtciphersqliteplugin.
Just tested with Qt 6.2.4 All is working with previous commentaries. But make install
working now for all platforms.
from qtciphersqliteplugin.
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)
- Database encrypted by this plugin can't open by wxsqlite3_shell HOT 1
- not build with qt 5.5.1 HOT 1
- best crypt options HOT 1
- SQL queries are not working when called from another thread
- Qt android 5.14.2 many unknow type name ... HOT 1
- Qt 6.0 error: no member named 'midRef' in 'QString' HOT 5
- wxsqlite3 RC4 encryption is not supported!!! HOT 3
- linker error while building with Qt 5.6.2 msvc 2013 32bit
- The problem of compilation failure under qt5.6
- QT5.5无法编译
- Why people dont like mingw
- error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch HOT 3
- CRASH when when using SQLITECIPHER
- Db file encrypted by QtCipherSqlitePlugin v1.2 can't be opened by QtCipherSqlitePlugin v1.3 HOT 1
- can’t Compile in the linux platform
- Can't compile on MacOS/iOS with Qt 6.5.1 HOT 5
- Call undeclared function vaeseq_u8 on ARM arch HOT 6
- Invalid password between databases on different platforms HOT 2
- 偶尔会异常闪退
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qtciphersqliteplugin.