использование macdeployqt со сборкой arm64

#macos #qt #arm64 #apple-silicon #macdeployqt

Вопрос:

У меня проблемы macdeployqt с использованием сборки arm64. Я нахожусь на компьютере Apple Silicon M1 с macOS12 (Монтерей). Я установил Qt 6.2.1 и XCode 13.1.

Я создал очень простое консольное приложение.

 #include lt;QDebuggt;  int main() {  qDebug() lt;lt; "Hello world."; }  

с помощью файла qmake PRO:

 QT -= gui CONFIG  = c  11 console SOURCES  = main.cpp  

Я звоню qmake с QMAKE_APPLE_DEVICE_ARCHS="arm64" . Он успешно создает пакет приложений.

Затем я пытаюсь запустить macdeployqt из каталога Qt 6.2.1 bin:

 ./macdeployqt /Users/vk/build-ConsoleApp-Qt_6_2_1_for_macOS_XCode-Release/ConsoleApp.app  

…и я получаю много сообщений:

 ERROR: Could not parse otool output line: "/Users/vk/Qt/6.2.1/macos/lib/QtSvg.framework/Versions/A/QtSvg (architecture arm64):" ERROR: Could not parse otool output line: "/Users/vk/Qt/6.2.1/macos/lib/QtWidgets.framework/Versions/A/QtWidgets (architecture arm64):" ERROR: Could not parse otool output line: "/Users/vk/Qt/6.2.1/macos/lib/QtGui.framework/Versions/A/QtGui (architecture arm64):" ERROR: Could not parse otool output line: "/Users/vk/Qt/6.2.1/macos/lib/QtNetwork.framework/Versions/A/QtNetwork (architecture arm64):" ...  

Как я могу это исправить?

Комментарии:

1. Похоже, он давится толстыми двоичными файлами. Если вы можете изменить вызов otool, то добавление -arch arm64 может помочь.

2. Есть какие-нибудь новости по этому поводу? Я также сталкиваюсь с той же проблемой… @V. K. смогли ли вы решить эту проблему?

3. @Siguza ты случайно не знаешь, как это сделать? Из того, что я понял, я не могу добавить никаких аргументов в otool, так как я не вызываю его напрямую (macdeployqt вызывает otool)

4. ОБНОВЛЕНИЕ: по-видимому, эти «ошибки» можно игнорировать. macdeployqt просто путается в архитектуре ARM. Ура! =)