VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/src/precomp_gcc.h@ 100347

Last change on this file since 100347 was 98216, checked in by vboxsync, 23 months ago

FE/Qt: Tweaks for making precompiled header work with GCC 7.5.0. bugref:10348

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.2 KB
Line 
1/* $Id: precomp_gcc.h 98216 2023-01-22 22:52:06Z vboxsync $*/
2/** @file
3 * VBox Qt GUI - Precompiled header for Visual C++.
4 */
5
6/*
7 * Copyright (C) 2016-2023 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28
29/*
30 * General pickings
31 *
32 * Note! We do not include iprt/log.h or similar because we need to
33 * support selecting different log groups. So, for now we restrict
34 * ourselves to frequently used QT, compiler, and system headers.
35 */
36
37/* Some CRT stuff that's frequently used. */
38#include <new>
39#include <stdlib.h>
40
41/* The most frequently used qt headers on a linux hosts based on dependency files. */
42#include <QtCore/qobject.h> /* 1003 */
43#include <QtCore/qmetatype.h> /* 958 */
44#include <QtCore/qstring.h> /* 923 */
45#include <QtCore/qstringlist.h> /* 905 */
46#include <QtCore/qrect.h> /* 858 */
47#include <QtCore/qvector.h> /* 853 */
48#include <QtCore/qmap.h> /* 849 */
49#include <QtCore/qcoreevent.h> /* 838 */
50#include <QtWidgets/qwidget.h> /* 826 */
51#include <QtCore/qpair.h> /* 698 */
52#include <QtCore/qlist.h> /* 682 */
53#include <QtGui/qpixmap.h> /* 670 */
54#include <QtCore/qhash.h> /* 637 */
55#include <QtCore/qsize.h> /* 627 */
56#include <QtCore/qglobal.h> /* 591 */
57#include <QtCore/qvariant.h> /* 588 */
58#include <QtCore/qregexp.h> /* 587 */
59#include <QtCore/qversiontagging.h> /* 585 */
60#include <QtCore/qtypeinfo.h> /* 585 */
61#include <QtCore/qtcore-config.h> /* 585 */
62#include <QtCore/qsystemdetection.h> /* 585 */
63#include <QtCore/qsysinfo.h> /* 585 */
64#include <QtCore/qstringview.h> /* 585 */
65#include <QtCore/qstringliteral.h> /* 585 */
66#include <QtCore/qstringalgorithms.h> /* 585 */
67#include <QtCore/qrefcount.h> /* 585 */
68#include <QtCore/qprocessordetection.h> /* 585 */
69#include <QtCore/qnumeric.h> /* 585 */
70#include <QtCore/qnamespace.h> /* 585 */
71#include <QtCore/qlogging.h> /* 585 */
72#include <QtCore/qglobalstatic.h> /* 585 */
73#include <QtCore/qgenericatomic.h> /* 585 */
74#include <QtCore/qflags.h> /* 585 */
75#include <QtCore/qconfig.h> /* 585 */
76#include <QtCore/qcompilerdetection.h> /* 585 */
77#include <QtCore/qchar.h> /* 585 */
78#include <QtCore/qbytearray.h> /* 585 */
79#include <QtCore/qbasicatomic.h> /* 585 */
80#include <QtCore/qatomic_cxx11.h> /* 585 */
81#include <QtCore/qatomic.h> /* 585 */
82#include <QtCore/qarraydata.h> /* 585 */
83#include <QtCore/qstringmatcher.h> /* 584 */
84#include <QtCore/qiterator.h> /* 584 */
85#include <QtCore/qhashfunctions.h> /* 584 */
86#include <QtCore/qbytearraylist.h> /* 584 */
87#include <QtCore/qalgorithms.h> /* 584 */
88#include <QtCore/qvarlengtharray.h> /* 580 */
89#include <QtCore/qobjectdefs.h> /* 580 */
90#include <QtCore/qcontainerfwd.h> /* 580 */
91#include <QtCore/qscopedpointer.h> /* 577 */
92#include <QtGui/qcolor.h> /* 574 */
93#include <QtCore/qpoint.h> /* 549 */
94#include <QtGui/qtransform.h> /* 546 */
95#include <QtCore/qmargins.h> /* 544 */
96#include <QtCore/qshareddata.h> /* 536 */
97#include <QtGui/qimage.h> /* 532 */
98#include <QtCore/qsharedpointer.h> /* 532 */
99#include <QtGui/qkeysequence.h> /* 531 */
100#include <QtGui/qcursor.h> /* 530 */
101#include <QtCore/qiodevice.h> /* 530 */
102#include <QtGui/qtguiglobal.h> /* 528 */
103#include <QtGui/qtgui-config.h> /* 528 */
104#include <QtGui/qwindowdefs.h> /* 527 */
105#include <QtGui/qregion.h> /* 527 */
106#include <QtGui/qrgba64.h> /* 526 */
107#include <QtGui/qrgb.h> /* 526 */
108#include <QtGui/qpolygon.h> /* 526 */
109#include <QtGui/qpixelformat.h> /* 526 */
110#include <QtGui/qpainterpath.h> /* 526 */
111#include <QtGui/qpaintdevice.h> /* 526 */
112#include <QtGui/qmatrix.h> /* 526 */
113#include <QtCore/qline.h> /* 526 */
114#include <QtCore/qdatastream.h> /* 526 */
115#include <QtWidgets/qtwidgetsglobal.h> /* 520 */
116#include <QtWidgets/qtwidgets-config.h> /* 520 */
117#include <QtGui/qfont.h> /* 507 */
118#include <QtGui/qbrush.h> /* 507 */
119#include <QtGui/qpalette.h> /* 506 */
120#include <QtWidgets/qsizepolicy.h> /* 505 */
121#include <QtGui/qfontmetrics.h> /* 497 */
122#include <QtGui/qfontinfo.h> /* 496 */
123
124/* Toplevel headers for which we already include the sub-headers.
125 Note! Must exist in precomptricks so we can apply #pragma once to them (good for GCC). */
126#include <QVariant>
127#include <QVarLengthArray>
128#include <QMutex>
129#include <QSysInfo>
130#include <QString>
131#include <QStringList>
132#include <QChar>
133#include <QApplication>
134#include <QGroupBox>
135#include <QPushButton>
136#include <QRadioButton>
137#include <QObject>
138#include <QVector>
139#include <QMap>
140#include <QMetaType>
141#include <QRect>
142#include <QWidget>
143#include <QPixmap>
144
145/* misc others that we include a bit. */
146#include <QVBoxLayout>
147#include <QHBoxLayout>
148#include <QPainter>
149#include <QTimer>
150#include <QStyle>
151#include <QMenu>
152#include <QDir>
153#include <QUuid>
154#include <QLineEdit>
155
156/* cdefs.h is a little bit of a question since it defines RT_STRICT, which someone
157 may want to redefine locally, but it's required by all other IPRT VBox includes. */
158#include <iprt/cdefs.h>
159#include <iprt/types.h>
160#include <iprt/stdarg.h>
161#include <iprt/stdint.h>
162#include <iprt/assert.h>
163#include <iprt/assertcompile.h>
164#include <iprt/errcore.h>
165#include <iprt/cpp/list.h>
166#include <iprt/cpp/meta.h>
167#include <VBox/com/array.h>
168#include <VBox/com/assert.h>
169#include <VBox/com/ptr.h>
170#include <VBox/com/com.h>
171#include <VBox/com/defs.h>
172
173/* These two are freuqently used internal headers. */
174#include "UILibraryDefs.h"
175/*#include "QIWithRestorableGeometry.h" - broken as it includes iprt/log.h thru UIDefs.h via UICommon.h. */
176/*#include "QIWithRetranslateUI.h" - broken as it includes iprt/log.h thru UIDefs.h via UITranslator.h. */
177
178#if defined(Log) || defined(LogIsEnabled)
179# error "Log() from iprt/log.h cannot be defined in the precompiled header!"
180#endif
181
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette