Source

Target

Commits (12)
Showing with 127 additions and 794 deletions
......@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt GUI Toolkit under the terms of
You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3. That license references
the General Public License version 3, that is displayed below. Other
portions of the Qt Toolkit may be licensed directly under this license.
......
......@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt GUI Toolkit under the terms of
You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 2.1, which is displayed below.
-------------------------------------------------------------------------
......
......@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt GUI Toolkit under the terms of
You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3, which is displayed below.
This license makes reference to the version 3 of the GNU General
Public License, which you can find in the LICENSE.GPLv3 file.
......
......@@ -192,7 +192,7 @@
\header \li Macro \li Description
\row \li qt5_wrap_cpp(outfiles inputfile ... OPTIONS ...)
\li Create moc code from a list of files containing Qt class with
the Q_OBJECT declaration. Per-direcotry preprocessor definitions
the Q_OBJECT declaration. Per-directory preprocessor definitions
are also added. Options may be given to moc, such as those found
when executing "moc -help".
\row \li qt5_add_resources(outfiles inputfile ... OPTIONS ...)
......
......@@ -79,7 +79,6 @@
\li \l{Qt for Linux/X11}{Linux/X11}
\li \l{Qt for OS X}{OS X}
\li \l{Qt for WinRT}{Windows Runtime}
\li \l{Windows CE - Introduction to using Qt}{WinCE}
\endlist
For more information, visit the \l{Community Supported Platforms}
......
......@@ -99,134 +99,4 @@ visit the following page:
\list
\li \l {Qt for WinRT#Building from source}{Qt for WinRT - Building from Source}
\endlist
\section1 Windows CE
\list
\li \l{Qt for Windows CE Requirements}
\li \l{Installing Qt for Windows CE}
\endlist
\target openssl-v1later
\section1 OpenSSL (Version 1.0.0 or Later)
Support for \l{SSL}{Secure Sockets Layer (SSL)} communication is provided by the
\l{OpenSSL Toolkit}, which must be obtained separately.
From Qt version 5.2 onwards, the officially supported version for OpenSSL is 1.0.0
or later. Versions >= 0.9.7 and < 1.0.0 might work, but are not guaranteed to.
More information about enabling SSL support can be found in the
\l{Secure Sockets Layer (SSL) Classes} document.
*/
/*!
\page install-wince.html
\title Installing Qt for Windows CE
\ingroup qtce
\brief How to install Qt for Windows CE.
\tableofcontents
Qt for Windows CE has some requirements that are given in more detail
in the \l{Qt for Windows CE Requirements} document.
\section1 Step 1: Install the License File (Commercial Editions Only)
Uncompress the files to the directory where you want to build;
e.g., \c{C:\Qt\%VERSION%}.
\note The install path must not contain any spaces.
\section1 Step 2: Set the Environment Variables
In order to build and use Qt, the \c PATH environment variable needs
to be extended:
Make sure the environment variables for your compiler are set.
Or simply use the "\gui{Visual Studio Command Prompt}" from the Start menu.
\section1 Step 3: Configure Qt
To configure Qt, for a custom SDK, type the
following:
\snippet snippets/code/doc_src_installation.qdoc 19
If you want to configure Qt for another platform or with other
options, type \c{configure -help} to get a list of all available
options. See the \c README file for the list of supported
platforms.
\note The \c configure option -qtlibinfix cannot take a version number as an argument.
For example:
\c{-qtlibinfix 5.6.0} should be specified as \c{-qtlibinfix QtCore5.6.0.dll}.
\section1 Step 4: Build Qt Library
To build Qt type:
\snippet snippets/code/doc_src_installation.qdoc 22
\b{That's all. Qt is now installed.}
\section1 Qt Examples
To get started with Qt, you can check out the examples found in the
\c{examples} directory of your Qt installation. The documentation can
be found in \c{doc\html}.
\note If you reconfigure Qt for a different platform,
make sure you start with a new clean console to get rid of the
platform dependent include directories.
The links below provide further information for using Qt:
\list
\li \l{Qt Examples and Tutorials}
\li \l{Deploying Qt Applications}
\endlist
You might also want to try the following Windows CE specific links:
\list
\li \l{Windows CE - Introduction to using Qt}
\li \l{Windows CE - Working with Custom SDKs}
\li \l{Windows CE - Using shadow builds}
\li \l{Windows CE - Signing}
\endlist
We hope you will enjoy using Qt. Good luck!
*/
/*!
\page requirements-wince.html
\title Qt for Windows CE Requirements
\brief Setting up the Windows CE environment for Qt.
Qt is known to work with Visual Studio 2005/2008 and SDKs for
Windows CE 6/7 development on Windows XP and newer:
Device manufacturers may prefer to make their own customized version of
Windows CE using Platform Builder. In order for Qt for Windows CE to
support a custom SDK, a build specification needs to be created. More
information on Windows CE Customization can be found
\l{Windows CE - Working with Custom SDKs}{here}.
\section3 Requirements
\list
\li Development environment:
\list
\li Microsoft Visual Studio 2005 (Standard Edition) or higher
\li ActivePerl
\endlist
\li Operating Systems
\list
\li Windows Embedded Compact 6 and 7
\endlist
\li Hardware Platform
\list
\li Supported on ARM, x86
\li (Compiles on SH4 and MIPS)
\endlist
\endlist
\sa {Known Issues}
*/
......@@ -31,10 +31,17 @@
\section1 High DPI Displays
High DPI monitors and displays with superb image quality and crisp font rendering
are becoming increasingly popular. For example, 4K monitors may have 3840x2160 pixels,
resulting in a logical resolution of 192 DPI, whereas older monitors have around 1920x1080
pixels at 96 DPI.
High DPI Displays are displays with increased pixel density compared to standard
DPI displays.
This pixel density is measured in Dots per Inch (DPI) or Pixels Per Inch (PPI),
and is determined by the number of display pixels and physical size. This means that
the number of pixels alone is not enough to determine if a display falls into the
high-DPI category.
A 4K monitor has a fixed number of pixels (~8M), however the DPI varies between 185
(23 inch) and 110 (40 inch). The former is around 2x standard 96 DPI desktop resolution,
while the latter is barely over it.
\section2 Issues with High DPI
......@@ -50,26 +57,54 @@
to be clipped.
\li Applications must adapt to situations where users have multiple displays with
varying resolution. For example, they might use a 4K monitor for the
varying resolution. For example, they might use a 4K monitor for the
document window of an image editor and a low resolution monitor for the
tool box.
\li Backing store and pixmap buffers become quite large so that
rendering may slow down.
\endlist
The traditional approach to supporting high DPI has been one where Qt scaled fonts
automatically, and then provided a DPI value that application code could use
to scale the rest of the UI.
\section2 Qt High DPI Support Overview
Qt supports a high DPI mode where the main coordinate system is virtualized and
made independent of the display pixel density. This mode is implemented by some
operating systems (OS X, iOS). In addition, Qt contains an implementation which
may be used where operating system support is missing.
Geometry is now specified in device independent pixels. This includes widget and
item geometry, event geometry, desktop, window and screen geometry, and animation
velocities. Rendered output is in device pixels, which corresponds to the display
resolution. The ratio between the device independent and device pixel coordinate
systems is the devicePixelRatio.
Applications mostly work with device independent pixels. Notable exceptions are
OpenGL and code that works with raster graphics.
\section2 Operating System Support
The operating systems supported by Qt offer the following support for high DPI displays:
\section3 OS X
\section3 OS X and iOS
The Apple platforms implement scaling and coordinate system virtualization in the
in the operating system. Normally, no special configuration is required.
On OS X, there is a separate, float-based user coordinate system (as opposed
to Device Pixels). For high DPI monitors, the operating system will scale the
contents using an efficient scaling algorithm that will make everything look
very crisp (Retina Display).
\note On OS X, high-DPI support is enabled by settings in the Info.plist file.
Make sure they are present.
\code
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
\endcode
Never versions of qmake will generate Info.plist's with the NSPrincipalClass key,
which is sufficient since NSHighResolutionCapable is true by default.
\note The scaling is not applied to Open GL windows.
\note OS X and iOS may apply further virtualization such that device pixels do not
correspond 1:1 to display pixels. This happens on the iPhone 6+ and on OS X configured
with 'display scaling' enabled.
\section3 Microsoft Windows
......
......@@ -147,7 +147,7 @@
itself automatically to the session manager. You can check with the \e
ClientList push button whether the connect was successful.
\b{Note:} Never keep the \e ClientList open when you
\note Never keep the \e ClientList open when you
start or end session managed clients! Otherwise \c xsm is likely to
crash.
\li Use the session manager's \e Checkpoint and \e Shutdown buttons
......
......@@ -2716,6 +2716,32 @@
See \c qtimageformats/src/3rdparty/libwebp/COPYING for license details.
\section1 JavaScriptCore Macro Assembler
\badcode
Copyright (C) 2012 Apple Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\endcode
\section1 V8 double/string conversion library
Library for binary-decimal and decimal-binary conversion routines for
......
......@@ -388,8 +388,15 @@
\li The header is based on OpenKODE Core 1.0 specification.
\li MIT License
\endtable
\row \li {1,4} Qt Qml
\row \li {4,1} \b{Third-party Licenses}
\row \li \l{JavaScriptCore Macro Assembler}
\li The assembly code generated use by the JIT.
\li BSD-style \li
\row \li \li \li \li
\endtable
\section1 Additional information
The documents below list related documents, such as information about Trademark and other
......
......@@ -412,7 +412,7 @@
e.g. gmake. The configure script tells you which make utility to
use.
\b{Note:} If you later need to reconfigure and rebuild Qt from the
\note If you later need to reconfigure and rebuild Qt from the
same location, ensure that all traces of the previous configuration are
removed by entering the build directory and typing \c{make confclean}
before running \c configure again.
......@@ -827,4 +827,26 @@
10.1.017 compiles these modules correctly in release mode.
\endlist
\section2 Known Issues with GCC Compilers
Building Qt with certain versions of GCC has the following known issues:
\list
\li GCC 4.9.2 fails to build Qt:
\list
\li \l {https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65309}{Related bug}
in GCC's bug tracker
\li \l {http://lists.qt-project.org/pipermail/development/2015-March/020632.html}{Discussion}
on \l{mailto://development@qt-project.org}{development@qt-project.org} mailing list
\endlist
\li GCC 5.2.1: Nested structs do not get their constructors called under
some circumstances:
\list
\li \l {https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67550}{Related bug}
in GCC's bug tracker
\li \l {https://codereview.qt-project.org/161071}{A possible workaround}
\endlist
\endlist
*/
......@@ -32,9 +32,8 @@
\brief The platforms supported by Qt.
Qt is a commercial and open source licensed cross-platform application
and UI framework. It is developed by The Qt Company, a solely owned
entity of Digia Plc, together with the Qt Project Community under an
open source governance model.
and UI framework. It is developed by The Qt Company, together with the
Qt Project Community under an open source governance model.
Using Qt, you can write GUI applications once and deploy them
across desktop, mobile and embedded operating systems without
......
......@@ -27,13 +27,13 @@
/*!
//! [embedded]
Embedded Platforms: \l {Qt for Embedded Linux}{Embedded Linux},
\l {Windows CE - Introduction to using Qt}{Windows Embedded (Compact and Standard)},
Embedded Platforms: \l {Qt for Embedded Linux}{Embedded Linux},
Windows Embedded (Compact and Standard),
\l {QNX}
//! [embedded]
//! [mobile]
Mobile Platforms: \l {Qt for Android}{Android},
Mobile Platforms: \l {Qt for Android}{Android},
\l {Qt for iOS}{iOS},
\l {Qt for WinRT}{WinRT}
//! [mobile]
......@@ -88,7 +88,7 @@ Mobile Platforms: \l {Qt for Android}{Android},
\li
\row \li {3,1} \header \li {3,1}
Embedded Platforms: \l {Qt for Embedded Linux}{Embedded Linux}, \l {QNX}
Embedded Platforms: \l {Qt for Embedded Linux}{Embedded Linux}, \l {QNX}
\row \li \l {Qt for Embedded Linux}{Embedded Linux}
\li GCC \li ARM Cortex-A, Intel boards with GCC-based toolchains
\row \li QNX 6.6.0 (armv7le and x86)
......@@ -146,7 +146,8 @@ Mobile Platforms: \l {Qt for Android}{Android},
\row \li Windows XP (32-bit)
\li \li Deployment only
\row \li {3,1} \header \li {3,1} \l {Qt for Linux/X11}{Linux/X11}
\row \li {3,1} \header \li {2,1} \l {Qt for Linux/X11}{Linux/X11}
\li \l {Known Issues with GCC Compilers}{Known Issues}
\row \li openSUSE 13.1 (64-bit)
\li \b {GCC 4.8.1}
\li SUSE Linux 20130909
......@@ -221,7 +222,8 @@ Mobile Platforms: \l {Qt for Android}{Android},
\row \li Windows XP (32-bit)
\li \li Deployment only
\row \li {3,1} \header \li {3,1} \l {Qt for Linux/X11}{Linux/X11}
\row \li {3,1} \header \li {2,1} \l {Qt for Linux/X11}{Linux/X11}
\li \l {Known Issues with GCC Compilers}{Known Issues}
\row \li openSUSE 13.1 (64-bit)
\li \b {GCC 4.8.1}
\li SUSE Linux 20130909
......@@ -302,7 +304,8 @@ Mobile Platforms: \l {Qt for Android}{Android},
\row \li Windows XP (32-bit)
\li \li Deployment only
\row \li {3,1} \header \li {3,1} \l {Qt for Linux/X11}{Linux/X11}
\row \li {3,1} \header \li {2,1} \l {Qt for Linux/X11}{Linux/X11}
\li \l {Known Issues with GCC Compilers}{Known Issues}
\row \li openSUSE 13.1 (64-bit)
\li \b {GCC 4.8.1}
\li SUSE Linux 20130909
......@@ -385,7 +388,8 @@ Mobile Platforms: \l {Qt for Android}{Android},
\row \li Windows XP (32-bit)
\li \li Deployment only
\row \li {3,1} \header \li {3,1} \l {Qt for Linux/X11}{Linux/X11}
\row \li {3,1} \header \li {2,1} \l {Qt for Linux/X11}{Linux/X11}
\li \l {Known Issues with GCC Compilers}{Known Issues}
\row \li openSUSE 13.1 (64-bit)
\li \b {GCC 4.8.1}
\li SUSE Linux 20130909
......@@ -445,79 +449,5 @@ Mobile Platforms: \l {Qt for Android}{Android},
//! [5.3]
\section1 Qt 5.2
//! [5.2]
\b {Supported until May 20, 2016}
\table 80%
\header \li Platform \li Compiler \li Notes
\header \li {3,1} \l {Qt for Windows}{Windows}
\row \li Windows 8 (64-bit)
\li \b {MSVC 2012}, MSVC 2010, MinGW 4.8, MinGW 4.7
\li
\row \li Windows 8 (32-bit)
\li MSVC 2012, MSVC 2010, MinGW 4.8, MinGW 4.7
\li
\row \li Windows 7 (64-bit)
\li MSVC 2012, MSVC 2010, MinGW 4.8, MinGW 4.7
\li
\row \li Windows 7 (32-bit)
\li \b {MSVC 2012}, \b {MSVC 2010}, MinGW 4.8, MinGW 4.7
\li
\row \li Windows Vista (32/64-bit)
\li MSVC 2012, MSVC 2010, MinGW 4.8, MinGW 4.7
\li
\row \li Windows XP (32-bit)
\li \li Deployment only
\row \li {3,1} \header \li {3,1} \l {Qt for Linux/X11}{Linux/X11}
\row \li Ubuntu 12.04 (64-bit)
\li \b {GCC 4.6.3}
\li Ubuntu/Linaro 4.6.3-1ubuntu5
\row \li Ubuntu 11.10 (32/64-bit)
\li \b {GCC 4.6.1}
\li Ubuntu/Linaro 4.6.1-9ubuntu3
\row \li Linux (32/64-bit)
\li GCC 4.6.1, GCC 4.6.3, GCC 4.8.1
\li
\row \li {3,1} \header \li {3,1} \l {Qt for OS X}{OS X}
\row \li OS X \b 10.8, \b 10.9
\li \b clang-600.0.54
\li
\row \li OS X \b 10.7
\li \b i686-apple-darwin11-llvm-gcc-4.2
\li
\row \li OS X 10.6
\li \li Deployment only
\row \li {3,1} \header \li {3,1}
\include supported-platforms.qdocinc embedded
\row \li Embedded Linux (arm-gnueabi)
\li \b {arm-none-linux-gnueabi-gcc-4.4.1}
\li Sourcery G++ Lite 2010q1-202, Ubuntu 11.10 (32-bit) host
\row \li Embedded Linux (iMX.6-armv7a)
\li \b {arm-none-linux-gnueabi-gcc-4.4.1}
\li Sourcery G++ Lite 2010q1-202, Ubuntu 12.04 (64-bit) host
\row \li Windows Embedded 7 (armv4i)
\li \b {MSVC 2008}
\li Windows 7 host
\row \li {3,1} \header \li {3,1}
\include supported-platforms.qdocinc mobile
\row \li Windows Phone (arm)
\li \b {MSVC 2013}
\li Windows 8 host
\row \li Windows Runtime (64-bit)
\li \b {MSVC 2013}
\li Windows 8 host
\row \li iOS 5.0 and above
\li \b {Clang as provided by Apple}
\li \b {OS X host}
\row \li Android
\li \b {As provided by Google}
\li Hosts: \b {Ubuntu 12.04 (64-bit)}, OS X, Windows
\endtable
//! [5.2]
//! [all]
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** 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. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page windowsce-customization.html
\ingroup qtce
\title Windows CE - Working with Custom SDKs
\brief How to set up Qt for use with custom Windows CE SDKs.
When working with a custom SDK for Windows CE, Qt provides an easy way
to add support for it to your development environment. The following is
a tutorial that covers how to create a specification for Qt for Windows
CE platforms.
\tableofcontents
\section1 Creating a Custom Build Specification
Create a subdirectory in the \c mkspecs folder of the Qt directory.
New specifications for Qt for Windows CE following this naming convention:
\snippet snippets/code/doc_src_wince-customization.qdoc 0
Using this convention makes it possible for \l{qmake} to identify that
you are building Qt for Windows CE, and will customize the compilation
process accordingly.
Create the files \c qmake.conf and \c qplatformdefs.h inside the new
specification directory. Take a look at the implementation of the other
Windows CE specifications included in the \c mkspecs directory to see
what is required to build Qt for Windows CE successfully.
\section1 Fine-Tuning Options
Compared to the desktop versions, Qt for Windows CE needs two additional
options:
\list
\li \b{CE_SDK} specifies the name of the SDK.
\li \b{CE_ARCH} specifies information about the target architecture.
\endlist
Following is an example configuration for a custom SDK we call "CustomSDK":
\snippet snippets/code/doc_src_wince-customization.qdoc 1
\note Running \l qmake to generate Visual Studio project files for Windows CE currently does not produce valid output..
Additionally, most Windows CE SDKs use extra compiler options. These
can be specified by expanding the \c DEFINES value.
For example, with CustomSDK, the \c DEFINES variable
is expanded in the following way:
\snippet snippets/code/doc_src_wince-customization.qdoc 2
\section1 Cross-compilation Environment for a Custom SDK
Qt for Windows CE only requires that the mkspec that is specified
with -xplatform is setup as mentioned \l{Fine-Tuning Options}{above}.
The selection of the custom SDK environment will happen by concatenating \c CE_SDK
and \c CE_ARCH. This builds a string that can be found in "\e{%ProgramFiles%\\Microsoft Visual Studio 9.0\\VC\\vcpackages\\WCE.VCPlatform.xml}"
and contains the correct environment. If you are unsure about the SDK name and Arch for your
SDK you can find it in this file.
\section1 Compiling Qt for a Custom SDK
Windows CE is highly customizable, hence it is possible that some SDKs have
feature-stripped setups. Depending on the SDK's configuration, Qt may not
compile in its standard configuration, as Qt for Windows CE is designed to
be compatible with the Standard SDK setup. Every Makefile qmake generates
that is not flagged to build for the host system will build WindowsCE projects
for the SDK Qt was built with. There is no need to set a custom environment
besides the Visual Studio 2005/2008 environment.
However, it is possible to exclude features of Qt and create a version that
compiles for the desired SDK.
\section1 Making Qt Applications Start on a Custom Device
Sometimes, a Windows CE device has been created with a configuration
different from the corresponding SDK's configuration. In this case, symbols
that were available at linking stage will be missing from the run-time
libraries.
Unfortunately, the operating system will not provide an error message that
mentions which symbols are absent. Instead, a message box with the following
message will appear:
\c{app.exe is not a valid CE application!}
To identify the missing symbols, you need to create a temporary
application that attempts to dynamically load the Qt for Windows CE
libraries using \c LoadLibrary. The following code can be used for this:
\snippet snippets/code/doc_src_wince-customization.cpp 9
Once you have compiled and deployed the application as well as the Qt
libraries, start a remote debugger. The debugger will then print the
ordinal number of the unresolved symbol.
Search for parts of Qt that rely on these functions and disable them using
the QFeatures functionality.
In our experience, when Qt applications do not start on Windows CE, it is
usually the result of missing symbols for the following classes or
features:
\list
\li \l{Drag and Drop}
\li \l{QClipboard}
\li \l{QCursor}
\endlist
Please refer to the Microsoft documentation
\l{http://msdn.microsoft.com/en-us/library/e7tsx612.aspx}{here} for
information on what ordinals are and how you can create them. Information
on accessing the corresponding symbol name to a given ordinal value can
also be found in the Microsoft documentation.
*/
/*!
\page shadow builds-wince.html
\ingroup qtce
\title Windows CE - Using shadow builds
\brief How to create a shadow build for Qt for Windows CE.
\tableofcontents
While developing for Windows CE you might want to compile a
version of Qt for several different platforms and SDKs. In order
to create those different builds of Qt you do not have to copy the
whole Qt package or the Qt source. You are able to create multiple
Qt builds from a single source tree. Such builds are called shadow
builds.
Basically a shadow build is created by calling configure.exe from a
different directory.
To make sure that the shadow build compiles correctly it is important
that you following these guidelines:
\list
\li The original Qt source package must be left untouched - configure must
never have been run in the source tree directory.
\li With Qt5, the code has to be checked out of the git repository, otherwise
the out of source build will fail as syncqt is not executed.
\li Avoid using "release" and "debug" in the path to the shadow build
directory. (This is an internal limitation of the build system.)
\li Perl has been installed on your system. (\l{ActivePerl} is a popular
distribution of Perl on Windows.)
\endlist
So lets assume you have installed Qt in \c{C:\Qt\%VERSION%} and you want
to create a shadow build in \c{C:\Qt\mobile5-shadow}:
\list
\li Make sure the environment variables for your compiler are set.
Visual Studio includes \c{vcvars32.bat} for that purpose - or simply use
the "Visual Studio Command Prompt" from the Start menu.
\li Now navigate to your shadow build directory and run configure:
\snippet snippets/code/doc_src_wince-customization.qdoc 4
\li Finally, to build the shadow build type:
\snippet snippets/code/doc_src_wince-customization.qdoc 7
\li That's all. You have successfully created a shadow build of Qt in
\c{C:\Qt\mobile5-shadow}.
\li Now you can call \c{nmake install} and get a clean installation of Qt
in \e{%INSTALLDIR%}.
\endlist
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** 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. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page qtce.html
\title Qt for Windows CE
\brief Documents related to Qt for Windows CE
\ingroup supportedplatform
Qt for Windows CE is a C++ framework for GUI and application development
for embedded devices running Windows CE. It runs on a variety of processors,
including ARM, Intel x86, MIPS and SH-4.
\table 100%
\header \li Getting Started \li Reference \li Performance and Optimization
\row
\li
\list
\li \l {Qt for Windows CE Requirements}
\li \l {Installing Qt for Windows CE}
\li \l {Windows CE - Introduction to using Qt}{Introduction to using Qt}
\endlist
\li
\list
\li \l {Windows CE - Using shadow builds}{Using shadow builds}
\li \l {Windows CE - Working with Custom SDKs}{Working with Custom SDKs}
\endlist
\li
\list
\li \l {Qt for Windows CE and OpenGL ES}{Hardware Accelerated Graphics}
\endlist
\endtable
\annotatedlist qtce
*/
/*!
\page wince-with-qt-introduction.html
\title Windows CE - Introduction to using Qt
\brief An introduction to Qt for Windows CE developers.
\ingroup qtce
\tableofcontents
\section1 Required Tools
In order to use Qt for Windows CE you need to have Visual Studio
2005 or 2008 and at least one of the supported Windows
CE/Mobile SDKs installed.
Note, that the Visual Studio 2008 Standard Edition doesn't come
with Windows CE support. You will need the Professional Edition,
if you're using Visual Studio 2008.
\section1 Installing Qt
Follow the instructions found in \l{Installing Qt for Windows CE}.
\section1 Building Your Own Applications
If you are new to Qt development, have a look at \l{Qt Overviews}
and \l{Qt Examples And Tutorials}{Tutorials}. In general there is
little or no difference in developing Qt applications for Windows
CE compared to any of the other platforms supported by Qt.
Once you have a \c .pro file, you can build from the command line. Simply write:
\snippet snippets/code/doc_src_wince-introduction.qdoc 0
For more information on how to use qmake have a look at the \l
{Getting Started}{qmake Tutorial}.
\section1 Running the Application
In order to run the application, it needs to be deployed on the
Windows CE/Mobile device you want to test it for. This can either
be done manually or automated using Visual Studio.
To do it manually, simply copy the executable, the Qt \c{.dll}
files needed for the application to run, and the C-runtime library
into a folder on the device, and then click on the executable to
start the program. You can either use the \e Explorer found in
ActiveSync or the \e{Remote File Viewer} found in Visual Studio to do
this.
Further information on deploying Qt applications for Windows can
be found in the \l{Qt for Windows - Deployment}
{deployment document}.
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** 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. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page windowsce-opengl.html
\title Qt for Windows CE and OpenGL ES
\ingroup qtce
\brief Information about support for OpenGL ES with Qt for Windows CE.
\input platforms/emb-opengl.qdocinc
\section1 Using OpenGL with Qt for Windows CE
Qt for Windows CE uses EGL 1.1 to embed OpenGL ES windows within the
Windows CE window manager.
\section2 Configure
To configure Qt for Windows Mobile 5.0 and OpenGL ES Common support
you can run \c{configure} like this:
\snippet snippets/code/doc_src_wince-opengl.qdoc 0
OpenGL ES includes profiles for floating-point and fixed-point arithmetic.
The floating point profile is called OpenGL ES CM (Common) and the
fixed-point profile is called OpenGL ES CL (Common Lite).
The fixed-point profile is no longer supported since Qt 4.7.
You can run \c{configure} with the \c{-opengl-es-cm} option for the Common
profile. Ensure that the \c{lib} and \c{includes} paths include the OpenGL ES
headers and libararies from your SDK. The OpenGL ES lib should be called
either \c{libGLES_CM.lib} for the Common profile.
\section2 Using OpenGL to Accelerate Normal 2D Painting
Qt provides QOpenGLPaintEngine, a subclass of QPaintEngine that translates
QPainter operations into OpenGL calls. This is especially convenient for
drawing text or QImage objects in an OpenGL ES context. For further
details, refer to the \l{OpenGL Window Example}.
*/
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** 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. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page windowsce-signing.html
\ingroup qtce
\title Windows CE - Signing
\brief How to sign Qt projects for use with Windows CE.
\section1 Signing on Windows CE
Windows CE provides a security mechanism to ask the user to confirm
that they want to use an application/library that is unknown to the
system. This process gets repeated for each dependency of an
application, meaning each library the application links to, which is
not recognized yet.
To simplify this process you can use signatures and certificates. A
certificate gets installed on the device and each file which is
signed with the according certificate can be launched without the
security warning.
If you want to use signatures for your project written in Qt,
configure provides the \c -signature option. You need to specify the
location of the .pfx file and qmake adds the signing step to the
build rules.
If you need to select a separate signature for a specific project,
or you only want to sign a single project, you can use the
"SIGNATURE_FILE = foo.pfx" rule inside the project file.
The above described rules apply for command line makefiles as well as
Visual Studio projects generated by qmake.
Microsoft usually ships development signatures inside the SDK packages.
You can find them in the Tools subdirectory of the SDK root folder.
Example:
\list
\li Calling configure with signing enabled:
\code
configure.exe -platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005 -signature C:\some\path\SDKSamplePrivDeveloper.pfx
\endcode
\li Using pro file to specify signature
\code
...
TARGET = foo
wince*: {
SIGNATURE_FILE = somepath\customSignature.pfx
}
...
\endcode
\endlist
*/
......@@ -152,26 +152,6 @@ setenv PATH /usr/local/Qt-%VERSION%/bin:$PATH
PATH - to locate qmake, moc and other Qt tools
//! [18]
//! [19]
C:
cd \Qt\%VERSION%
configure -platform -xplatform wincewm70customsdk-msvc2008
//! [19]
//! [20]
set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\ce\include;C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Include\Armv4i
set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Lib\ARMV4I
set PATH=C:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%PATH%
//! [20]
//! [21]
setcepaths wincewm50pocket-msvc2005
//! [21]
//! [22]
nmake
nmake install
......
......@@ -105,14 +105,14 @@ static int setup_unix_signal_handlers()
hup.sa_flags = 0;
hup.sa_flags |= SA_RESTART;
if (sigaction(SIGHUP, &hup, 0) > 0)
if (sigaction(SIGHUP, &hup, 0))
return 1;
term.sa_handler = MyDaemon::termSignalHandler;
sigemptyset(&term.sa_mask);
term.sa_flags |= SA_RESTART;
if (sigaction(SIGTERM, &term, 0) > 0)
if (sigaction(SIGTERM, &term, 0))
return 2;
return 0;
......
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
//! [9]
wchar_t* libraries[] = {
L"QtCore4.dll",
L"QtGui4.dll",
0
};
for (int i = 0; libraries[i] != 0; ++i) {
HINSTANCE instance = LoadLibraryW(libraries[i]);
OutputDebugStringW(libraries[i]);
if (instance != NULL) {
OutputDebugStringW(L" : Successfully instantiated\n");
FreeLibrary(instance);
} else {
OutputDebugStringW(L" : Could not be loaded\n");
}
}
//! [9]