aboutsummaryrefslogtreecommitdiffstats
path: root/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@qt.io>2020-01-23 11:45:07 +0100
committerLeena Miettinen <riitta-leena.miettinen@qt.io>2020-01-27 09:05:07 +0000
commit5fc456dd2283b2d1e6c4e6d34856052658f34cc4 (patch)
tree7a7cd26a33014e401536a149fa47f6586b68c247 /doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc
parentc9f90047ac701416e439f492069c1a0bb364fc08 (diff)
Doc: Rearrange files in the doc folder
Source and configuration files for each manual are now located in a separate subdirectory, with common configuration files in doc/config. doc |_config |_qtcreator |_qtcreatordev |_qtdesignstudio Edit the config files accordingly. Change-Id: Idc747a7c16e84f3e06add91234dc5fc908e64cc5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc')
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc149
1 files changed, 149 insertions, 0 deletions
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc
new file mode 100644
index 00000000000..a29ea16293a
--- /dev/null
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc
@@ -0,0 +1,149 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Creator documentation.
+**
+** 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.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-project-opening.html
+ \page creator-project-qmake-libraries.html
+ \nextpage creator-project-wizards.html
+
+ \title Adding Libraries to Projects
+
+ In addition to Qt libraries, you can add other libraries to your projects.
+ The way the library is added depends on the type and location of the
+ library. You can add a system library, your own library, or a 3rd party
+ library. The library can be located either in the build tree of the
+ current project or in another build tree.
+
+ \image qtcreator-add-library-wizard.png "Add Library wizard"
+
+ Because system libraries do not typically change and are often found by
+ default, you do not need to specify the path to the library or to its
+ includes when you add it. You can use \c{pkg-config} to query system
+ libraries during compilation.
+
+ For your own libraries and 3rd party libraries, you need to specify
+ the paths. \QC tries to guess the include path for an external library,
+ but you need to check it and modify it if necessary. \QC automatically
+ adds the include path for an internal library.
+
+ For all libraries, select the target platforms for the application, library,
+ or plugin.
+
+ Specify whether the library is statically or dynamically linked. For a
+ statically linked internal library, \QC adds dependencies
+ (PRE_TARGETDEPS) in the project file.
+
+ Depending on the development platform, some options might be detected
+ automatically. For example, on \macos, the library type (\uicontrol Library or
+ \uicontrol Framework) is detected automatically and the option is hidden. However,
+ if you develop on another platform than \macos and want to build your
+ project for \macos, you must specify the library type.
+
+ The default convention on Windows is that the debug and release versions
+ of a library have the same name, but are placed in different subdirectories,
+ usually called \e debug and \e release. If the library path does not contain
+ either of these folders, you cannot select the option to place the libraries
+ in separate folders.
+
+ Alternatively, the letter \e d can be added to the library name for the
+ debug version. For example, if the release version is called example.lib,
+ the debug version is called exampled.lib. You can specify that the letter
+ is added for the debug version and removed for the release version.
+ If the library name ends in \e d, deselect the \uicontrol {Remove "d" suffix
+ for release version} option.
+
+ \QC supports code completion and syntax highlighting for the added
+ libraries once your project successfully builds and links to them.
+
+ \section1 To Add Libraries
+
+ \list 1
+
+ \li In the \uicontrol Projects pane, right-click the project name to open the
+ context menu and select
+ \uicontrol {Add Library}.
+
+ \li Follow the instructions of the wizard.
+
+ \endlist
+
+ For more information about the project file settings, see
+ \l{Declaring Other Libraries}.
+
+ \section1 Example of Adding Internal Libraries
+
+ The following example describes how to add a statically linked internal
+ library to your project.
+
+ \list 1
+
+ \li Choose \uicontrol File > \uicontrol {New File or Project} >
+ \uicontrol Library > \uicontrol {C++ Library} to create the library.
+
+ The \uicontrol {Introduction and Product Location} dialog opens.
+
+ \image qtcreator-add-library-wizard-ex-1.png "Introduction and Product Location dialog"
+
+ \li In the \uicontrol Type field, select \uicontrol {Statically Linked Library}.
+
+ \li In the \uicontrol Name field, give a name for the library. For example,
+ \b mylib.
+
+ \li Follow the instructions of the wizard until you get to the
+ \uicontrol {Project Management} dialog. In the \uicontrol {Add to project}
+ list, select a project. For example, \b myapp.
+
+ \li In the \uicontrol Projects pane, right-click the project name to open the
+ context menu and select
+ \uicontrol {Add Library > Internal Library > Next}.
+
+ \li In the \uicontrol Library field, select \b mylib and click \uicontrol Next.
+
+ \li Click \uicontrol Finish to add the following library declaration to the
+ project file:
+
+ \code
+ win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/release/ -lmylib
+ else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/debug/ -lmylib
+ else:unix: LIBS += -L$$OUT_PWD/../../../projects/mylib/ -lmylib
+
+ INCLUDEPATH += $$PWD/../../../projects/mylib
+ DEPENDPATH += $$PWD/../../../projects/mylib
+
+ win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/release/mylib.lib
+ else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/debug/mylib.lib
+ else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a
+ \endcode
+
+ \endlist
+
+*/