0
다른 Qt 기반 프로그램을 실행하기 위해 QProcess를 사용하며 모두 잘 작동합니다. App1은 App1.app/Contents/deps
에있는 App2를 호출하려고 시도합니다. 호출하는 다른 프로그램도 해당 디렉토리에 있습니다. Finder 또는 QtCreator에서 App2를 실행하면 정상적으로 작동합니다. 나는 앱 1과 앱 2를 모두 배포 할 macdeployqt을 사용하고다른 Qt 기반 응용 프로그램을 QProcess와 함께 실행 (비 Qt 기반 프로그램을 정상적으로 실행 함)
objc[7817]: Class NotificationReceiver is implemented in both /Users/USER/gui/App1Bin/App1.app/Contents/deps/App2.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets and /Users/USER/Qt5.2.1/5.2.1/clang_64/lib/QtWidgets.framework/Versions/5/QtWidgets. One of the two will be used. Which one is undefined.
QObject::moveToThread: Current thread (0x1013000c0) is not the object's thread (0x101210d60).
Cannot move to target thread (0x1013000c0)
On Mac OS X, you might be loading two sets of Qt binaries into the same process. Check that all plugins are compiled against the right Qt binaries. Export DYLD_PRINT_LIBRARIES=1 and check that only one set of binaries are being loaded.
This application failed to start because it could not find or load the Qt platform plugin "cocoa".
Available platform plugins are: cocoa, minimal, offscreen.
Reinstalling the application may fix this problem.
: 나는 QProcess 그것을 실행하려고 할 때 나는이 오류가 발생합니다.
나는 이것을 호출하기 위해 process->start(cmd, options)
을 사용합니다.
이 오류는 문제를 진단하는 데 필요한 단계를 제공합니다. OS X에서 동적 링크가 작동하는 방법을 읽고 응용 프로그램 번들의 바이너리 만 사용하도록 바이너리를 수정해야합니다. –
@KubaOber 이미 macdeployqt하지 않습니까? 그것이 다른 컴퓨터에서 앱을 실행할 수있는 방법입니다. – ATSOTECK
분명히 그것은 당신의 경우에 제대로하지 않습니다. –