blob: 4a1cc4094719337812f13db7939460b775a5b79d [file] [log] [blame]
/****************************************************************************
**
** 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$
**
****************************************************************************/
//! [0]
cd /path/to/Qt
./configure -static -prefix /path/to/Qt <other parameters>
make
//! [0]
//! [1]
cd /path/to/Qt/examples/widgets/tools/plugandpaint/app
//! [1]
//! [2]
make clean
PATH=/path/to/Qt/bin:$PATH
export PATH
qmake -config release
make
//! [2]
//! [3]
ldd ./application
//! [3]
//! [4]
cd /path/to/Qt/examples/tools/plugandpaint
//! [4]
//! [5]
make clean
qmake -config release
make
//! [5]
//! [6]
cd ../plugandpaint/plugins
make clean
qmake -config release
make
//! [6]
//! [7]
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
//! [7]
//! [10]
ldd ./application
//! [10]
//! [11]
cd C:\path\to\Qt
configure -static <any other options you need>
//! [11]
//! [12]
nmake sub-src
//! [12]
//! [13]
cd examples\tools\plugandpaint
//! [13]
//! [14]
nmake clean
qmake -config release
nmake
//! [14]
//! [15]
cd examples\tools\plugandpaint
//! [15]
//! [16]
nmake clean
qmake -config release
nmake
//! [16]
//! [17]
cd ..\plugandpaint/plugins
nmake clean
qmake -config release
nmake
//! [17]
//! [18]
plugins\pnp_basictools.dll
plugins\pnp_extrafilters.dll
//! [18]
//! [20]
embed_manifest_dll
embed_manifest_exe
//! [20]
//! [24]
depends <application executable>
//! [24]
//! [27]
cd /path/to/Qt
./configure -static <other parameters>
make sub-src
//! [27]
//! [28]
cd /path/to/Qt/examples/widgets/tools/plugandpaint/app
//! [28]
//! [29]
make clean
qmake -config release
make
//! [29]
//! [30]
otool -L plugandpaint.app/Contents/MacOs/plugandpaint
//! [30]
//! [31]
plugandpaint.app/Contents/MacOS/plugandpaint:
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
(compatibility version 2.0.0, current version 128.0.0)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
(compatibility version 1.0.0, current version 10.0.0)
/usr/lib/libz.1.dylib
(compatibility version 1.0.0, current version 1.2.3)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
(compatibility version 1.0.0, current version 22.0.0)
/usr/lib/libstdc++.6.dylib
(compatibility version 7.0.0, current version 7.3.0)
/usr/lib/libgcc_s.1.dylib
(compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libmx.A.dylib
(compatibility version 1.0.0, current version 92.0.0)
/usr/lib/libSystem.B.dylib
(compatibility version 1.0.0, current version 88.0.0)
//! [31]
//! [32]
-lQtGui
//! [32]
//! [33]
/where/static/qt/lib/is/libQtGui.a
//! [33]
//! [34]
cd /path/to/Qt/examples/widgets/tools/plugandpaint/app
//! [34]
//! [35]
make clean
qmake -config release
make
//! [35]
//! [36]
cd ../plugandpaint/plugins
make clean
qmake -config release
make
//! [36]
//! [37]
otool -L QtGui.framework/QtGui
//! [37]
//! [38]
QtGui.framework/QtGui:
/path/to/Qt/lib/QtGui.framework/Versions/4.0/QtGui
(compatibility version 4.0.0, current version 4.0.1)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
(compatibility version 2.0.0, current version 128.0.0)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
(compatibility version 1.0.0, current version 10.0.0)
/path/to/Qt/QtCore.framework/Versions/4.0/QtCore
(compatibility version 4.0.0, current version 4.0.1)
/usr/lib/libz.1.dylib
(compatibility version 1.0.0, current version 1.2.3)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
(compatibility version 1.0.0, current version 22.0.0)
/usr/lib/libstdc++.6.dylib
(compatibility version 7.0.0, current version 7.3.0)
/usr/lib/libgcc_s.1.dylib
(compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libmx.A.dylib
(compatibility version 1.0.0, current version 92.0.0)
/usr/lib/libSystem.B.dylib
(compatibility version 1.0.0, current version 88.0.0)
//! [38]
//! [39]
mkdir plugandpaint.app/Contents/Frameworks
cp -R /path/to/Qt/lib/QtCore.framework
plugandpaint.app/Contents/Frameworks
cp -R /path/to/Qt/lib/QtGui.framework
plugandpaint.app/Contents/Frameworks
//! [39]
//! [40]
install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore
plugandpaint.app/Contents/Frameworks/QtCore.framework/Versions/4.0/QtCore
install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/4.0/QtGui
plugandpaint.app/Contents/Frameworks/QtGui.framework/Versions/4.0/QtGui
//! [40]
//! [41]
install_name_tool -change path/to/Qt/lib/QtCore.framework/Versions/4.0/QtCore
@executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore
plugandpaint.app/Contents/MacOs/plugandpaint
install_name_tool -change path/to/qt/lib/QtGui.framework/Versions/4.0/QtGui
@executable_path/../Frameworks/QtGui.framework/Versions/4.0/QtGui
plugandpaint.app/Contents/MacOs/plugandpaint
//! [41]
//! [42]
install_name_tool -change path/to/Qt/lib/QtCore.framework/Versions/4.0/QtCore
@executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore
plugandpaint.app/Contents/Frameworks/QtGui.framework/Versions/4.0/QtGui
//! [42]
//! [43]
mv plugins plugandpaint.app/Contents
//! [43]
//! [44]
libpnp_basictools.dylib:
libpnp_basictools.dylib
(compatibility version 0.0.0, current version 0.0.0)
/path/to/Qt/lib/QtGui.framework/Versions/4.0/QtGui
(compatibility version 4.0.0, current version 4.0.1)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
(compatibility version 2.0.0, current version 128.0.0)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
(compatibility version 1.0.0, current version 10.0.0)
/path/to/Qt/lib/QtCore.framework/Versions/4.0/QtCore
(compatibility version 4.0.0, current version 4.0.1)
/usr/lib/libz.1.dylib
(compatibility version 1.0.0, current version 1.2.3)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
(compatibility version 1.0.0, current version 22.0.0)
/usr/lib/libstdc++.6.dylib
(compatibility version 7.0.0, current version 7.3.0)
/usr/lib/libgcc_s.1.dylib
(compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libmx.A.dylib
(compatibility version 1.0.0, current version 92.0.0)
/usr/lib/libSystem.B.dylib
(compatibility version 1.0.0, current version 88.0.0)
//! [44]
//! [45]
install_name_tool -change /path/to/Qt/lib/QtCore.framework/Versions/4.0/QtCore
@executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore
plugandpaint.app/Contents/plugins/libpnp_basictools.dylib
install_name_tool -change /path/to/Qt/lib/QtGui.framework/Versions/4.0/QtGui
@executable_path/../Frameworks/QtGui.framework/Versions/4.0/QtGui
plugandpaint.app/Contents/plugins/libpnp_basictools.dylib
//! [45]
//! [46]
#elif defined(Q_OS_MAC)
if (pluginsDir.dirName() == "MacOS") {
pluginsDir.cdUp();
}
#endif
//! [46]
//! [47]
cp -R /path/to/Qt/plugins/imageformats
pluginandpaint.app/Contents/plugins
//! [47]
//! [48]
install_name_tool -change /path/to/Qt/lib/QtGui.framework/Versions/4.0/QtGui
@executable_path/../Frameworks/QtGui.framework/Versions/4.0/QtGui
plugandpaint.app/Contents/plugins/imageformats/libqjpeg.dylib
install_name_tool -change /path/to/Qt/lib/QtCore.framework/Versions/4.0/QtCore
@executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore
plugandpaint.app/Contents/plugins/imageformats/libqjpeg.dylib
//! [48]
//! [50]
otool -L MyApp.app/Contents/MacOS/MyApp
//! [50]
//! [54]
QCoreApplication::addLibraryPath("C:/customPath/plugins");
//! [54]