Skip to content

frida-qml arm #3

Description

@ricsirigu

I downloaded the Frida qml release for macOS x86_64 (I have and arm m1 cpu)

when calling Frida from a QT projects, the error "libfrida-qml.dylib: Mach-O executable for the wrong architecture" pops out.

I tried to compile Frida-qml for the m1 architecture but the make process is giving the following errors

../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:842:23: error: invalid application of 'sizeof' to an incomplete type 'SpawnOptions' static_assert(sizeof(T), "Type argument of Q_PROPERTY or Q_DECLARE_METATYPE(T*) must be fully defined"); ^~~~~~~~~ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:1161:25: note: in instantiation of template class 'QtPrivate::IsPointerToTypeDerivedFromQObject<SpawnOptions *>' requested here | (IsPointerToTypeDerivedFromQObject<T>::Value ? QMetaType::PointerToQObject : 0) ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2358:21: note: in instantiation of template class 'QtPrivate::QMetaTypeTypeFlags<SpawnOptions *>' requested here /*.flags=*/ QMetaTypeTypeFlags<T>::Flags, ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2475:48: note: in instantiation of static data member 'QtPrivate::QMetaTypeInterfaceWrapper<SpawnOptions *>::metaType' requested here return &QMetaTypeInterfaceWrapper<Ty>::metaType; ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2522:16: note: in instantiation of function template specialization 'QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<SpawnOptions *, std::integral_constant<bool, true>>>' requested here QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<T, std::true_type>>()... ^ moc_device.cpp:200:5: note: in instantiation of variable template specialization 'qt_metaTypeArray<QString, QString, Device::Type, Device, void, QString, void, QString, void, Device::Type, void, ScriptInstance *, ScriptInstance *, Script *, QString, SpawnOptions *, ScriptInstance *, Script *, QString, ScriptInstance *, Script *, int>' requested here qt_metaTypeArray< ^ ./../src/device.h:15:7: note: forward declaration of 'SpawnOptions' class SpawnOptions; ^ 1 error generated. make: *** [moc_device.o] Error 1 In file included from moc_frida.cpp:10: In file included from ./../src/frida.h:7: In file included from ../../../Qt/6.4.0/macos/lib/QtQml.framework/Headers/QQmlEngine:1: In file included from ../../../Qt/6.4.0/macos/lib/QtQml.framework/Headers/qqmlengine.h:8: In file included from /Users/xxx/Qt/6.4.0/macos/lib/QtCore.framework/Headers/qobject.h:18: ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:842:23: error: invalid application of 'sizeof' to an incomplete type 'Device' static_assert(sizeof(T), "Type argument of Q_PROPERTY or Q_DECLARE_METATYPE(T*) must be fully defined"); ^~~~~~~~~ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:1161:25: note: in instantiation of template class 'QtPrivate::IsPointerToTypeDerivedFromQObject<Device *>' requested here | (IsPointerToTypeDerivedFromQObject<T>::Value ? QMetaType::PointerToQObject : 0) ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2358:21: note: in instantiation of template class 'QtPrivate::QMetaTypeTypeFlags<Device *>' requested here /*.flags=*/ QMetaTypeTypeFlags<T>::Flags, ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2475:48: note: in instantiation of static data member 'QtPrivate::QMetaTypeInterfaceWrapper<Device *>::metaType' requested here return &QMetaTypeInterfaceWrapper<Ty>::metaType; ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2522:16: note: in instantiation of function template specialization 'QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<Device *, std::integral_constant<bool, true>>>' requested here QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<T, std::true_type>>()... ^ moc_frida.cpp:155:5: note: in instantiation of variable template specialization 'qt_metaTypeArray<Device *, Frida, void, Device *, void, Device *, void, Device *, void, Device *, void, QString>' requested here qt_metaTypeArray< ^ ./../src/frida.h:10:7: note: forward declaration of 'Device' class Device; ^ In file included from moc_devicelistmodel.cpp:10: In file included from ./../src/devicelistmodel.h:4: In file included from ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/QAbstractListModel:1: In file included from ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qabstractitemmodel.h:10: In file included from /Users/xxx/Qt/6.4.0/macos/lib/QtCore.framework/Headers/qobject.h:18: ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:842:23: error: invalid application of 'sizeof' to an incomplete type 'Device' static_assert(sizeof(T), "Type argument of Q_PROPERTY or Q_DECLARE_METATYPE(T*) must be fully defined"); ^~~~~~~~~ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:1161:25: note: in instantiation of template class 'QtPrivate::IsPointerToTypeDerivedFromQObject<Device *>' requested here | (IsPointerToTypeDerivedFromQObject<T>::Value ? QMetaType::PointerToQObject : 0) ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2358:21: note: in instantiation of template class 'QtPrivate::QMetaTypeTypeFlags<Device *>' requested here /*.flags=*/ QMetaTypeTypeFlags<T>::Flags, ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2475:48: note: in instantiation of static data member 'QtPrivate::QMetaTypeInterfaceWrapper<Device *>::metaType' requested here return &QMetaTypeInterfaceWrapper<Ty>::metaType; ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2522:16: note: in instantiation of function template specialization 'QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<Device *, std::integral_constant<bool, true>>>' requested here QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<T, std::true_type>>()... ^ moc_devicelistmodel.cpp:127:5: note: in instantiation of variable template specialization 'qt_metaTypeArray<int, DeviceListModel, void, int, void, Device *, void, Device *, Device *, int>' requested here qt_metaTypeArray< ^ ./../src/devicelistmodel.h:7:7: note: forward declaration of 'Device' class Device; ^ 1 error generated. make: *** [moc_frida.o] Error 1 1 error generated. make: *** [moc_devicelistmodel.o] Error 1 In file included from moc_script.cpp:10: In file included from ./../src/script.h:4: In file included from ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/QJsonArray:1: In file included from ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qjsonarray.h:7: In file included from /Users/xxx/Qt/6.4.0/macos/lib/QtCore.framework/Headers/qjsonvalue.h:10: In file included from /Users/xxx/Qt/6.4.0/macos/lib/QtCore.framework/Headers/qcborvalue.h:8: In file included from /Users/xxx/Qt/6.4.0/macos/lib/QtCore.framework/Headers/qdatetime.h:11: In file included from /Users/xxx/Qt/6.4.0/macos/lib/QtCore.framework/Headers/qcalendar.h:10: In file included from /Users/xxx/Qt/6.4.0/macos/lib/QtCore.framework/Headers/qlocale.h:7: In file included from ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qvariant.h:9: ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:842:23: error: invalid application of 'sizeof' to an incomplete type 'Device' static_assert(sizeof(T), "Type argument of Q_PROPERTY or Q_DECLARE_METATYPE(T*) must be fully defined"); ^~~~~~~~~ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:1161:25: note: in instantiation of template class 'QtPrivate::IsPointerToTypeDerivedFromQObject<Device *>' requested here | (IsPointerToTypeDerivedFromQObject<T>::Value ? QMetaType::PointerToQObject : 0) ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2358:21: note: in instantiation of template class 'QtPrivate::QMetaTypeTypeFlags<Device *>' requested here /*.flags=*/ QMetaTypeTypeFlags<T>::Flags, ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2475:48: note: in instantiation of static data member 'QtPrivate::QMetaTypeInterfaceWrapper<Device *>::metaType' requested here return &QMetaTypeInterfaceWrapper<Ty>::metaType; ^ ../../../Qt/6.4.0/macos/lib/QtCore.framework/Headers/qmetatype.h:2522:16: note: in instantiation of function template specialization 'QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<Device *, std::integral_constant<bool, true>>>' requested here QtPrivate::qTryMetaTypeInterfaceForType<void, QtPrivate::TypeAndForceComplete<T, std::true_type>>()... ^ moc_script.cpp:842:5: note: in instantiation of variable template specialization 'qt_metaTypeArray<ScriptInstance::Status, Device *, int, ScriptInstance::ProcessState, ScriptInstance, void, ScriptInstance::Status, void, int, void, ScriptInstance::ProcessState, void, QString, void, QJsonObject, QVariant, void, void, void, QJsonValue, void, unsigned short, void, void, QJsonValue, void, ScriptInstance::Status, void, int, void, void, QString, void, QJsonObject, QVariant, void, void, void, QJsonObject, void, QJsonArray, void, void, unsigned short, void>' requested here qt_metaTypeArray< ^ ./../src/script.h:9:7: note: forward declaration of 'Device' class Device; ^ 1 error generated. make: *** [moc_script.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions