Подтвердить что ты не робот

Qt5 не может найти плагины платформы Mac OS X

Я пытаюсь развернуть программу Qt на Mac по эту ссылку. Пройдя через otool -L на свой исполняемый файл и все библиотеки, от которых он зависит, который я скопировал в пакет приложений, я получаю эту ошибку в выпуске приложения QtCreator, когда я пытаюсь запустить его.

Это приложение не удалось запустить, поскольку оно не могло найти или загрузить плагин платформы Qt "cocoa".

Повторная установка приложения может решить эту проблему. Программа неожиданно завершилась.

Я попытался скопировать плагины платформы qt libqcocoa.dylib и изменить каталог плагинов в qt.conf, в соответствии с этим, но он все еще не работает.

Также стоит отметить, что я сначала попытался использовать инструмент qt macdeployqt, но он не справляется с этим сообщением, несмотря на то, что я впервые запустил его в исполняемом файле:

ОШИБКА: Не удалось найти бинарный пакет для "MyProgram.app/Contents/MacOS/MyProgram" ОШИБКА: "otool: невозможно открыть файл: (Нет такого файла или каталога)"

ПРЕДУПРЕЖДЕНИЕ:

ПРЕДУПРЕЖДЕНИЕ: Не удалось найти какие-либо внешние рамки Qt для развертывания в "MyProgram.app/Contents/MacOS/MyProgram"

ПРЕДУПРЕЖДЕНИЕ. Возможно, macdeployqt уже использовался в "MyProgram.app/Contents/MacOS/MyProgram" ?

ПРЕДУПРЕЖДЕНИЕ. Если это так, вам нужно будет перестроить "MyProgram.app/Contents/MacOS/MyProgram" , прежде чем повторять попытку. ОШИБКА: Не удалось найти бинарный пакет для "MyProgram.app/Contents/MacOS/MyProgram"

ОШИБКА: ошибка копирования файла из "/Developer/Applications/Qt/plugins/platforms/libqcocoa.dylib"

ОШИБКА: к "MyProgram.app/Contents/MacOS/MyProgram/Contents/PlugIns/platforms/libqcocoa.dylib"

ОШИБКА: ошибка копирования файла из "/Developer/Applications/Qt/plugins/printsupport/libcocoaprintersupport.dylib"

ОШИБКА: к "MyProgram.app/Contents/MacOS/GraphiteMiniEditor/Contents/PlugIns/printsupport/libcocoaprintersupport.dylib"

4b9b3361

Ответ 1

Re macdeployqt терпит неудачу: похоже, для аргумента macdeployqt вы передаете путь к исполняемому файлу вместо пути к набору. То есть просто передайте... /MyProgram.app вместо.../MyProgram.app/Contents/MacOS/MyProgram.

(Но я также не могу заставить его найти libqcocoa в изолированном приложении. Я могу прибегнуть к связыванию этого статического текста в моем приложении.)

Ответ 2

У меня была эта ошибка с OS X Lion, используя Qt 5.4.2. Когда я установил утилит командной строки Xcode, ошибка исчезла и macdeployqt работал.

Ответ 3

Чтобы дать Камилю Климеку решение еще больше внимания (он решил проблему для меня):

У меня была такая же проблема, когда я установил QtCreator (Qt 5.x) с автономным установщиком, но, видимо, также имел Qt (4.x), установленный через Homebrew (вероятно, втянутый в зависимость). Компиляция кода с 5.x, а развертывание с 4.x macdeployqt script не работает.

Итак, убедитесь, что, например:

which macdeployqt

вызывает macdeployqt из той же версии Qt/пути, которая используется для компиляции кода.