diff options
Diffstat (limited to 'doc/src/qt3d-troubleshooting.qdoc')
-rw-r--r-- | doc/src/qt3d-troubleshooting.qdoc | 295 |
1 files changed, 0 insertions, 295 deletions
diff --git a/doc/src/qt3d-troubleshooting.qdoc b/doc/src/qt3d-troubleshooting.qdoc deleted file mode 100644 index 9fc2cb22..00000000 --- a/doc/src/qt3d-troubleshooting.qdoc +++ /dev/null @@ -1,295 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtQuick3D documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** GNU Free Documentation License -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms -** and conditions contained in a signed written agreement between you -** and Nokia. -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page qt3d-troubleshooting.html - \title QtQuick3D Troubleshooting Guide - \keyword Building QML QtQuick3D - - Quick3D has been developed with the intention of supporting a variety - of platforms and systems, and in doing so leverages the plugin and - import architecture used by Qt. - - This architecture occasionally causes confusion for newcomers to - the Qt plugin architecture, however, which can cause runtime problems to - occasionally arise. - - \section1 Common Quick3D Problems - - \section2 PROBLEM 1: I Can't See Warnings from my QML/3D Application - - Many problems with QML (both 2D and 3D) can only be diagnosed through - warning and status messages. - - In the QMLViewer application these can be viewed by selecting the "Show - Warnings" item in the "Debugging" menu. - - For QML applications which do not use the QMLViewer, however, no such - option exists. - - For Linux & Mac: - \list - \o Run the application within QtCreator - the warning messages will be - visible in the Application Output pane. - \o Run the application from the command line - the warning messages - will now be displayed directly in the terminal window. - \endlist - - For Windows - \list - \o Run the application within QtCreator - the warning messages will be - visible in the Application Output pane. - \o Run the application from within Visual Studio - the warning messages - will be visible in the Output window. - \o Use an application such as Windows Sysinternals' "DebugView.exe" to - capture warning and error messages from your QML application. - \endlist - - \section2 PROBLEM 2: Qt3D Plugin File Not Found - - By far the most prevalant problems encountered by Quick3D newcomers are - those relating to inability for an application to find the correct plugins - at runtime. - - This problem is characterised by a blank screen being displayed, and the - following warning message: - - \code - file:///C:/path/to/qml/app/my_app.qml:42:1: module "Qt3D" plugin "qthreedqmlplugin" not found - import Qt3D 1.0 - - ^ - \endcode - - To resolve this problem try each of the Resolution Actions listed, one at - a time, retrying your application after each step. - - \section2 PROBLEM 3: Qt3D Not Installed - - This is related to the Problem 2, though is characterised by error messages - containing the following: - - \code - module "Qt3D" is not installed - \endcode - - To resolve this problem try each of the Resolution Actions listed, one at - a time, retrying your application after each step. - - \section2 PROBLEM 4: The Specified Module Could Not Be Found - - This is related to Problem 2, though in this case it is characterised by error - messages similar to the following: - - \code - file:///path/to/quick3d/app.qml:10:1: plugin cannot be loaded for module "Qt3D": Cannot load library C:/path/to/Qt/imports/qthreedqmlplugin.dll: The specified module could not be found. - \endcode - - To resolve this problem try each of the Resolution Actions listed, one at - a time, retrying your application after each step. - - \section2 PROBLEM 5: 3D Models Fail to Load - - Usually this problem will be accompanied by a message similar to this one: - - \code - Could not create handler for format - check plugins are installed correctly in /path/to/Qt/plugins - Could not load file:///path/to/model/my_model.obj (possibly plugin could not be found) - \endcode - - In this case the problem is that the plugins for various scene formats are - missing. - - Follow the instructions in Resolution Action 4 onward. - - \section2 PROBLEM 6: Build Keys Do Not Match - - Sometimes users may encounter an error similar to the one shown below: - - \code - plugin: my_plugin.dll: failed to load: The plugin 'C:/path/to/qt/plugins/my_plugin.dll' uses incompatible Qt library. Expected build key "Windows mingw debug full-config", got "Windows mingw release full-config" - \endcode - - This error is caused by a mismatch between the Qt library against which the plugin - was compiled, and the Qt library being used at runtime. - - To resolve this problem follow Resolution Action 5 onward, below. - - \section2 PROBLEM 7: Case mis-match on loading QML plugins - - You get a blank screen when the Qt Quick 3D application runs. The debug output - (see Problem 1 above) reveals a message similar to - \code - Starting C:\Qt\4.7.3\bin\qmlviewer.exe -I C:/Qt/4.7.3/imports C:/Qt/4.7.3/quick3d/bin/resources/examples/basket_qml/qml/basket.qml - C:/Qt/4.7.3/quick3d/bin/resources/examples/basket_qml/qml/basket.qml: File name case mismatch - \endcode - - This issue can occur when a custom install directory for Qt is used, which does not - match the expected directory used by the Qt3D binary installer, but still installs - without apparent error due to Windows tolerance for case error. - - For example you install Qt applications into \bold{C:\\qt} such as Qt Creator - but then when you install Qt 4.7.3 you accept the default install location - of "C:\\Qt" - this succeeds, even though the case preserved name of the - directory is "C:\\qt". When Qt Declarative's case checking code parses the - import statement it refuses to load the qml file. - - This error is very difficult to diagnose and the best way to fix it is to - uninstall everything from the directory in question, using the package uninstallers - in the start menu, then remove the directory itself, the finally reinstall everything. - - \section1 Resolution Actions - - \section2 ACTION 1: Ensure that Quick3D is Building Correctly - - As obvious as this sounds, it is sometimes the case that a problem is - caused simply by one of the runtime libraries or plugins for Quick3D - failing to build, even while the user's application itself builds without - error. - - Ensure that all of the components of Quick3D have built without error - before attempting further resolution actions. - - \section2 ACTION 2: Ensure Import Files Are Correctly Located - - Ensure that the Quick3D import libraries are in the directory specified by - the QtQuick import path. - - The core Quick3D import directory is: \c{imports\Qt3D} in the directory - where Qt is installed. - - This directory should contain the files as shown in the following diagram: - - \image imports-dir.png - - Here for the sake of illustration it is assumed Qt 4.7.3 is intalled under - \c{C:\Qt\4.7.3}. - - If these files are not in the correct locations copy them manually into the - specified locations and retry your Quick3D application before moving on to - other fixes. The dll's should have been built as part of your build process - and the other files are shipped in the source tree, and can be simply copied - over if somehow the build process has failed to do this. - - \section2 ACTION 3: Ensure Qt3D Libraries Are Correctly Located - - Ensure that the Quick3D libraries can be found by the application. The - files that should be found are: - - \list - \o Qt3D.dll - \o Qt3DQuick.dll - \endlist - - There are three ways to make these files available to your application: - - \list - \o 1. Copy these files into the same directory as your application executable. - \o 2. Add the current location of these files to your PATH environment variable. - \o 3. Copy these files into the Qt binaries directory. - \endlist - - The Qt binaries directory is: - \code - \path\to\qt\bin - \endcode - - Having executed one of these fixes, retry your application before trying any - other troubleshooting tips. - - \section2 ACTION 4: Ensure Additional Plugin Libraries Are Correctly Located - - Ensure that the Quick3D plugin libraries are in the directory specified by - the QtQuick plugins path. - - The Quick3D scene format plugins (which are responsible for loading model files) - should be found in: - - \code - \path\to\qt\plugins\sceneformats - \endcode - - This should contain the following files: - - \list - \o qsceneai4.dll - \o qscenebezier4.dll - \endlist - - Additional Quick3D image format plugins (which are responsible for loading some - image files) should be found in: - - \code - \path\to\qt\plugins\imageformats - \endcode - - This should contain the following files: - - \list - \o qtga4.dll - \endlist - - If these files are not in the correct locations copy them manually into the - specified locations and retry your Quick3D application before moving on to - other fixes. - - \section2 ACTION 5: Check Your Build Configuration - - It is possible that Quick3D libraries which have been built against a given - set of Qt libraries have problems when used with another build of Qt. - - This may be resolved by trying each of the following: - - \list - \o Ensure that the Qt and Quick3D libraries use the same toolchain/compiler. - \o Ensure that the Qt Configuration used to build Quick3D matches that used in - your runtime Qt libraries. - \o Ensure that the Qt used to build Quick3D and the Qt runtimes are both either - Debug or Release, not a mixture of both. - \endlist - - After making this change, retry your Quick3D application before implementing - other troubleshooting tips. - - \section2 ACTION 6: Clear the Plugin Cache - - Qt stores certain information about plugins in the plugin cache. The plugin - cache is stored through QSettings, and so is platform independent. - - It is possible that obselete plugin data for an older version of your Qt3D - plugins could be causing your Quick3D applications to fail. - - On Windows the entries in the plugin cache are stored in the registry, and - typically begin with one of the following strings: - - \code - HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.2.debug - HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.2.false - \endcode - - Delete these entries and retry your Quick3D application. -*/ |