[solved] My app crashed after using macdeployqt (Qt5.2 RC 1)
-
QT_PLUGIN_PATH=/Users/username/Downloads/1Checker.app/Contents/PlugIns/ ./1Checker.app/Contents/MacOS/1Checker
-
type it into terminal ? it still doesn't work...
-
are you sure it is working fine after setting QT_PLUGIN_PATH to point to your bundle plugin path , I
This is my QT_PLUGIN_PATH, but my app is yet to be launched.
//////////////////////////////////////////////////////////////////
gint-developtekiMacBook-Pro:~ gint_develop$ echo $QT_PLUGIN_PATH
/Users/gint_develop/Desktop/1Checker.app/Contents/MacOS/1Checker -
you can try with:
@ export QT_PLUGIN_PATH=/Users/username/Downloads/1Checker.app/Contents/PlugIns/
@
then
@
./1Checker.app/Contents/MacOS/1Checker
@I have three warnings about QEventLoop but I can see your application login screen
-
@gint-developtekiMacBook-Pro:~ gint_develop$ export QT_PLUGIN_PATH="/Users/gint_develop/Desktop/1Checker.app/Contents/PlugIns"
gint-developtekiMacBook-Pro:~ gint_develop$ cd ~/Desktop/
gint-developtekiMacBook-Pro:Desktop gint_develop$ ./1Checker.app/Contents/MacOS/1Checker
QEventLoop: Cannot be used without QApplication
QObject::moveToThread: Current thread (0x103e079f0) is not the object's thread (0x103e0c800).
Cannot move to target thread (0x103e079f0)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.
QObject::moveToThread: Current thread (0x103e079f0) is not the object's thread (0x103e0c800).
Cannot move to target thread (0x103e079f0)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.
QEventLoop: Cannot be used without QApplication
QEventLoop: Cannot be used without QApplication
objc[3729]: Class NotificationReceiver is implemented in both /Users/gint_develop/Desktop/1Checker.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets and /Users/gint_develop/Qt5.2.0/5.2.0/clang_64/lib/QtWidgets.framework/Versions/5/QtWidgets. One of the two will be used. Which one is undefined.
objc[3729]: Class QCocoaPageLayoutDelegate is implemented in both /Users/gint_develop/Desktop/1Checker.app/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport and /Users/gint_develop/Qt5.2.0/5.2.0/clang_64/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport. One of the two will be used. Which one is undefined.
objc[3729]: Class QCocoaPrintPanelDelegate is implemented in both /Users/gint_develop/Desktop/1Checker.app/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport and /Users/gint_develop/Qt5.2.0/5.2.0/clang_64/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport. One of the two will be used. Which one is undefined.
QObject::moveToThread: Current thread (0x103e079f0) is not the object's thread (0x103e0c800).
Cannot move to target thread (0x103e079f0)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.
Abort trap: 6@ -
If you rename your Qt folder does it also fail ?
-
I have tried these:
-
set QT_PLUGIN_PATH and rename Qt folder, succeed to launch it with terminal, but failed by double clicking.
-
set QT_PLUGIN_PATH and do not rename Qt folder, both failed.
-
do not set QT_PLUGIN_PATH and rename Qt folder, both failed.
so I think even if I set QT_PLUGIN_PATH, the reference pointing to the Qt folder is the preference.
-
-
Are you using QDir::currentPath ?
-
no, but the following code has been added to main.cpp already,
@int main(int argc, char *argv[])
{QApplication a(argc, argv); QDir dir(QCoreApplication::applicationDirPath()); qDebug()<<dir.absolutePath(); dir.cdUp(); qDebug()<<dir.absolutePath(); dir.cd("PlugIns"); qDebug()<<dir.absolutePath(); QApplication::setLibraryPaths(QStringList(dir.absolutePath())); qDebug()<<QCoreApplication::libraryPaths();@
and the relevant application output
@"/Users/gint_develop/Documents/maserati/branches/build-OneChecker-Desktop_Qt_5_2_0_clang_64bit-Release/OneChecker/1Checker.app/Contents/MacOS"
"/Users/gint_develop/Documents/maserati/branches/build-OneChecker-Desktop_Qt_5_2_0_clang_64bit-Release/OneChecker/1Checker.app/Contents"
"/Users/gint_develop/Documents/maserati/branches/build-OneChecker-Desktop_Qt_5_2_0_clang_64bit-Release/OneChecker/1Checker.app/Contents/PlugIns"
("/Users/gint_develop/Documents/maserati/branches/build-OneChecker-Desktop_Qt_5_2_0_clang_64bit-Release/OneChecker/1Checker.app/Contents/PlugIns") @ -
Also, Here is another important clue,
@This application failed to start because it could not find or load the Qt platform plugin "cocoa".@
maybe the reference pointing to the platform plugin in the bundle is broken, and QCoreApplication::libraryPaths() is not used to search for platform plugins , as" what he said":https://bugreports.qt-project.org/browse/QTBUG-29503 -
Can you build Qt from sources and use this one to create your application ? I didn't have that problem with a current git build
-
Actually,I got stuck when I tried to build Qt from source. Particularly, they were some errors about webkit...I am trying to solve it.
-
I followed these steps again:
1)git clone git://gitorious.org/qt/qt5.git qt5
2) cd qt5
3) ./init-repository
4) ./qtrepotools/bin/qt5_tool -p
5) .........but got this at step 4,
Entering 'qtactiveqt'
Fetching origin
Fetching gerrit
ssh: connect to host codereview.qt-project.org port 22: Operation timed out
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
error: Could not fetch gerrit
Stopping at 'qtactiveqt'; script returned non-zero status. -
seems I'm not alone. someone has posted it "Here":https://bugreports.qt-project.org/browse/QTBUG-21139 ,but no reply.
-
I've downloaded qt5.2 source code and built it successfully. but it makes no difference.
[quote author="SGaist" date="1388791987"]Can you build Qt from sources and use this one to create your application ? I didn't have that problem with a current git build[/quote] -
Do you mean, the source tar.gz or from git ?
-
The former, the problem is still there when I try to git.
-
Provisional measures :
adding the following code to main.cpp (before QApplication a(argc, argv));I think the path of loading plugins has to be loaded before running QApplication a(argc, argv);
@int main(int argc, char *argv[])
{
QString path = QString(argv[0]);
QString end = path.split("/").last();
path.remove(path.length() - end.length(), end.length());
QDir dir(path);
dir.cdUp();
dir.cd("PlugIns");
QApplication::setLibraryPaths(QStringList(dir.absolutePath()));QApplication a(argc, argv);
......
@[quote author="SGaist" date="1388791987"]Can you build Qt from sources and use this one to create your application ? I didn't have that problem with a current git build[/quote]
-
Wasn't that part of a bug report ?